diff --git a/.ai/ARCHITECTURE.md b/.ai/ARCHITECTURE.md index 1ad587e2c4..5cae8f69bc 100644 --- a/.ai/ARCHITECTURE.md +++ b/.ai/ARCHITECTURE.md @@ -727,7 +727,7 @@ Special handling for Colab: - `prevent_initial_callbacks` - Skip callbacks on load (default: `False`) - `background_callback_manager` - DiskcacheManager or CeleryManager - `on_error` - Global callback error handler -- `shared_storage` - Cross-process state + pub/sub backend (default: `LocalSharedStorage`). Pass `None` to disable, or a `BaseSharedStorage` subclass/instance to swap. See [Shared Storage](#shared-storage). +- `shared_storage` - Cross-process state + pub/sub backend (default: off). Pass `LocalSharedStorage` to enable, or a `BaseSharedStorage` subclass/instance to swap. See [Shared Storage](#shared-storage). **WebSocket Callbacks:** - `websocket_callbacks` - Enable WebSocket for all callbacks (default: `False`). Requires FastAPI backend. @@ -820,7 +820,9 @@ channel. Unlike `dcc.Store` (which lives in the browser), shared storage lives on the server and lets callbacks running in different workers see the same keys and topics without standing up an external service like Redis. -Enabled by default on every app. It starts lazily on first use, so it costs +Opt-in: off unless the app passes `shared_storage=` or `DASH_SHARED_STORAGE` +is set, so existing deployments do not grow a socket owner or a streaming +downlink on upgrade. Once enabled it starts lazily on first use, so it costs nothing until touched. ### Accessing It @@ -836,13 +838,21 @@ def handler(n): return store.get("clicks", 0) # Or off the app directly: -app = dash.Dash() +app = dash.Dash(shared_storage=dash.LocalSharedStorage) app.shared_storage.set("key", {"any": "json-compatible value"}) ``` Values (and published messages) must be **JSON-compatible** — dict / list / str / int / float / bool / None — the same constraint as `dcc.Store` and callback -outputs. Messages are encoded with `msgspec` (msgpack), a hard dependency. +outputs. Messages are encoded with `msgspec` (msgpack) from the +`dash[shared_storage]` extra (also pulled in by `dash[diskcache]` and +`dash[redis]`). Without it, `LocalSharedStorage` in `"memory"` mode still works +and its socket transport falls back to stdlib JSON (both ends run the same +install, so they always agree). JSON turns non-string dict keys into strings and +cannot carry `bytes`, so keep values strictly JSON-shaped. Everything that +writes encoded bytes somewhere lasting (the persistent modes, Diskcache, Redis) +raises an `ImportError` naming the extra that brings it instead, so a stored +format never depends on what happens to be installed. ### API @@ -895,7 +905,7 @@ more than one container/pod (see [Deployment Topology](#deployment-topology-and- | Backend | Backing store | Reaches | Extra | |---------|---------------|---------|-------| -| `LocalSharedStorage` *(default)* | in-memory, owner-elected socket | one **container** (all its workers) | none | +| `LocalSharedStorage` | in-memory, owner-elected socket | one **container** (all its workers) | none (`dash[shared_storage]` for the persistent modes) | | `DiskcacheSharedStorage` | a `diskcache.Cache` | one **host** (all processes sharing the dir) | `dash[diskcache]` | | `RedisSharedStorage` | Redis (Streams for pub/sub) | **any** process/container/pod | `dash[redis]` | @@ -909,14 +919,21 @@ from dash._shared_storage import ( LocalSharedStorage, DiskcacheSharedStorage, RedisSharedStorage, ) -Dash(shared_storage=LocalSharedStorage) # default +Dash() # disabled (default) +Dash(shared_storage=LocalSharedStorage) Dash(shared_storage=DiskcacheSharedStorage(directory="/tmp/ss")) Dash(shared_storage=RedisSharedStorage(url="redis://host:6379")) -Dash(shared_storage=None) # disabled ``` When disabled, accessing `app.shared_storage` / `dash.ctx.shared_storage` -raises `SharedStorageError`. +raises `SharedStorageError`. Streaming callbacks over HTTP need it: server setup +raises `StreamCallbackError` naming them (`_validate.validate_stream_callbacks`), +so an app cannot stream on a fallback locally and then break once deployed. +WebSocket streaming callbacks (`websocket_callbacks=True` or `websocket=True` +on a backend with `websocket_capability`, i.e. FastAPI or Quart) send frames on +the socket and do not need it; on Flask those flags change nothing and the check +still applies. Browsers without `SharedWorker` do not use the WebSocket +transport and stream over HTTP, one connection per stream. **`LocalSharedStorage`** — in-memory, no external service. On first use every worker races to become the single **owner** for the machine by binding a stable @@ -993,7 +1010,7 @@ subscriptions likewise poll without blocking and sleep on the loop. ### Deployment Topology and Shared Storage -The default `LocalSharedStorage` is **per-container**: its socket/loopback +`LocalSharedStorage` is **per-container**: its socket/loopback election only reaches processes in the same network + filesystem namespace. - **Single process / single pod** (e.g. Plotly Cloud apps): fine — one owner, @@ -1009,16 +1026,16 @@ election only reaches processes in the same network + filesystem namespace. A hosting platform can switch the backend without editing the app through `DASH_SHARED_STORAGE` (`_shared_storage/_env.py`), read only when the app did not pass `shared_storage=` (the default is a sentinel, so an explicit argument, -`None` included, always wins): `local`, `none`, `diskcache:///abs/path`, or a -`redis://` / `rediss://` URL. A `key_prefix` query parameter on the Redis URL -(`redis://host/0?key_prefix=myapp`) sets `RedisSharedStorage(key_prefix=)` and -is stripped before the URL reaches redis-py; the diskcache path is -percent-decoded. `cluster://` is reserved and raises; anything else raises -`InvalidConfig` at construction, without echoing the value (it can hold -credentials). The value becomes a zero-argument -factory, so nothing is built or connected until `app.shared_storage` is first -read, but a missing extra (`dash[redis]`, `dash[diskcache]`) fails at -construction with the backend's own `ImportError`. +`None` included, always wins): `local`, `none` (same as unset or empty), +`diskcache:///abs/path`, or a `redis://` / `rediss://` URL. A `key_prefix` query +parameter on the Redis URL (`redis://host/0?key_prefix=myapp`) sets +`RedisSharedStorage(key_prefix=)` and is stripped before the URL reaches +redis-py; the diskcache path is percent-decoded. `cluster://` is reserved and +raises; anything else raises `InvalidConfig` at construction, without echoing +the value (it can hold credentials). The value becomes a zero-argument factory, +so nothing is built or connected until `app.shared_storage` is first read, but a +missing extra (`dash[redis]`, `dash[diskcache]`, `dash[shared_storage]`) fails +at construction with the backend's own `ImportError`. ### Custom and Out-of-Tree Backends @@ -1039,12 +1056,13 @@ and returns a `Subscription` (`__iter__` / `__aiter__` / `close`) that raises top-level `dash`; the poll-loop helpers (`PollResult`, the polling subscription) are private and not part of the contract. -Core only ships backends whose dependency is already a Dash extra (`msgspec` -base; `dash[diskcache]`; `dash[redis]`). Anything needing a heavier dependency -belongs **out of tree** behind this same interface — e.g. a Postgres backend -(`LISTEN`/`NOTIFY` for push pub/sub + a table for KV and replay) lives in its own -package so a `psycopg` connection is never pulled into Dash core. It plugs in the -same way as a built-in: `Dash(shared_storage=PostgresSharedStorage(...))`. +Core only ships backends whose dependency is already a Dash extra +(`dash[shared_storage]`; `dash[diskcache]`; `dash[redis]`). Anything needing a +heavier dependency belongs **out of tree** behind this same interface — e.g. a +Postgres backend (`LISTEN`/`NOTIFY` for push pub/sub + a table for KV and +replay) lives in its own package so a `psycopg` connection is never pulled into +Dash core. It plugs in the same way as a built-in: +`Dash(shared_storage=PostgresSharedStorage(...))`. ### Module Layout @@ -1412,7 +1430,7 @@ with an empty result on the terminal frame. ### Multiplexed downlink and the stream SharedWorker -When the app has a shared-storage backend (the default `LocalSharedStorage`), +When the app has a shared-storage backend (opt-in, see Shared Storage), HTTP streams do not each hold their own response. The callback's POST carries `streamConnection: {requestId}` and returns a fast ack; a *pump* (`dash/_stream_hub.py`) drives the generator as an asyncio task and publishes diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7ec562e55c..a56fa7e332 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -217,6 +217,14 @@ updates: patterns: - "*" ignore: + # Majors across these build helpers and fixtures (eslint 10, prettier 3, + # webpack-cli 7, react-jsx-parser 2, ...) break the build or the pinned + # eslint 8 / prettier 2 toolchain. Take minors and patches only. + - dependency-name: "*" + update-types: ["version-update:semver-major"] + # dash-jupyterlab supports JupyterLab 2, 3 and 4 via a wide range; + # Dependabot narrows it to the latest 4.x and the lockfile bump breaks tsc. + - dependency-name: "@jupyterlab/*" # react-docgen is pinned for legacy metadata extraction (extract-meta.js uses # the react-docgen 5 API) and must never be updated. - dependency-name: "react-docgen" @@ -260,15 +268,14 @@ updates: # jupyterlab is pinned <4.0.0: jupyterlab 4.x ships jlpm as Yarn Berry, which # cannot consume @plotly/dash-jupyterlab's Yarn 1 lockfile and breaks the build. # - # black >=25.12.0 and pylint >=4.0.0 require Python >=3.10 and cannot install - # on the 3.9 CI jobs (Dash still supports Python 3.9). Upgrading either past - # its last 3.9-compatible release (black 25.11.0, pylint 3.3.9) also forces a - # repo-wide reformat / lint-fix pass, so linter bumps are done deliberately, - # not via Dependabot. + # Linters are held entirely. black >=25.12.0, pylint >=4.0.0 and flake8 + # >=7.4.0 require Python >=3.10 and cannot install on the 3.9 CI jobs (Dash + # still supports Python 3.9). Even the last 3.9-compatible black / pylint + # force a repo-wide reformat / lint-fix pass, so linter bumps are done + # deliberately, not via Dependabot. ignore: - dependency-name: "jupyterlab" versions: [">=4.0.0"] - dependency-name: "black" - versions: [">=25.12.0"] - dependency-name: "pylint" - versions: [">=4.0.0"] + - dependency-name: "flake8" diff --git a/.github/workflows/post-test-status.yml b/.github/workflows/post-test-status.yml index 5be78d009b..250ecbf8ec 100644 --- a/.github/workflows/post-test-status.yml +++ b/.github/workflows/post-test-status.yml @@ -82,7 +82,7 @@ jobs: const sha = context.payload.workflow_run.head_sha; const statusContext = 'percy/dash'; - const { data: { statuses } } = await github.rest.repos.getCombinedStatus({ + const { data: { statuses } } = await github.rest.repos.getCombinedStatusForRef({ owner, repo, ref: sha, diff --git a/CHANGELOG.md b/CHANGELOG.md index 4adcc4750e..8d48f05544 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,26 +2,28 @@ All notable changes to `dash` will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). -## [Unreleased] +## [4.5.0] - 2026-10-29 ### Added +- [#4099](https://github.com/plotly/dash/pull/4099) Streaming callbacks over HTTP now require shared storage and fail at server setup without it, instead of falling back to one connection per stream; WebSocket streaming callbacks do not need it. +- [#4095](https://github.com/plotly/dash/pull/4095) Make shared storage and the multiplexed streaming downlink opt-in (`shared_storage=` or `DASH_SHARED_STORAGE`), and move `msgspec` to a new `dash[shared_storage]` extra for the persistent `LocalSharedStorage` modes (`dash[diskcache]` and `dash[redis]` include it). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SECRET_KEY` so a hosting platform can give every worker and pod the same signing secret for page, background and stream tokens without editing the app (`server.secret_key` still wins and is not changed). - [#4026](https://github.com/plotly/dash/pull/4026) Add `DASH_SHARED_STORAGE` to pick the shared-storage backend when the app does not pass `shared_storage=`: `local`, `none`, `diskcache:///abs/path`, or a `redis://` / `rediss://` URL. - [#4024](https://github.com/plotly/dash/pull/4024) Add support for social media meta tags in regular Dash apps using `app.title`, `app.description`, and `app.image`. - [#3976](https://github.com/plotly/dash/pull/3976) Add a new `scrollToTop` prop to `dcc.Link` to control whether the page scrolls to the top after client-side navigation. It defaults to `True` to preserve the existing behavior. Fixes [#3974](https://github.com/plotly/dash/issues/3974). - [#3947](https://github.com/plotly/dash/pull/3947) Make `plotly-cloud` a default install dependency of Dash instead of an optional extra, so the `plotly` CLI and Dash's cloud integration work out of the box. The `dash[cloud]` extra is kept for backward compatibility. -- [#3930](https://github.com/plotly/dash/pull/3930) Add shared storage: a backend-agnostic cross-process state manager (key/value with optional TTL, plus ordered replayable pub/sub) on every app via `dash.ctx.shared_storage`, started lazily and disabled with `shared_storage=None`. Ships `LocalSharedStorage` (default, in-memory with optional disk persistence), `DiskcacheSharedStorage`, and `RedisSharedStorage` for horizontally-scaled deployments; see `.ai/ARCHITECTURE.md`. +- [#3930](https://github.com/plotly/dash/pull/3930) Add shared storage: a backend-agnostic cross-process state manager (key/value with optional TTL, plus ordered replayable pub/sub) via `dash.ctx.shared_storage`, started lazily. Ships `LocalSharedStorage` (in-memory with optional disk persistence), `DiskcacheSharedStorage`, and `RedisSharedStorage` for horizontally-scaled deployments; see `.ai/ARCHITECTURE.md`. - [#3931](https://github.com/plotly/dash/pull/3931) Add streaming callbacks: an `async def` generator callback streams its yields to the browser as they are produced (`dash.Patch` yields apply incrementally). A browser's streams share one SharedWorker-hosted connection so they do not count against the per-host connection limit; closing a tab cancels its streams. - [#3977](https://github.com/plotly/dash/pull/3977) Add partial WebSocket prop reads with `get_prop(..., path=...)`. Closes [#3975](https://github.com/plotly/dash/issues/3975). - [#3765](https://github.com/plotly/dash/pull/3765) Add opt-in partial pattern matching for callback `Input`, `Output`, and `State` via `partial_pattern=True`, so dictionary ID patterns can match component IDs with extra keys and combine with `ALL`/`MATCH` wildcards. Fixes [#3764](https://github.com/plotly/dash/issues/3764). -- [#3646](https://github.com/plotly/dash/pull/3646) Add experimental support for React 19 (default stays React 18.3.1); opt in with `REACT_VERSION=19.2.4` or `dash._dash_renderer._set_react_version("19.2.4")`. Dash serves the [`umd-react`](https://www.npmjs.com/package/umd-react) package with a compatibility shim so component libraries built against React <=18 keep working; see `.ai/ARCHITECTURE.md`. +- [#3880](https://github.com/plotly/dash/pull/3880) Add experimental support for React 19 (default stays React 18.3.1); opt in with `REACT_VERSION=19.2.4` or `dash._dash_renderer._set_react_version("19.2.4")`. Dash serves the [`umd-react`](https://www.npmjs.com/package/umd-react) package with a compatibility shim so component libraries built against React <=18 keep working; see `.ai/ARCHITECTURE.md`. - [#3925](https://github.com/plotly/dash/pull/3925) Add optional callback request payload compression via `compress_payload` and `compress_threshold` callback parameters (default threshold 5,000 bytes), sending gzip payloads that Dash decompresses on Flask, FastAPI, and Quart. Fixes [#3924](https://github.com/plotly/dash/issues/3924). - [#3961](https://github.com/plotly/dash/pull/3961) Added cursor position data (`xPixel`, `yPixel`) to `dcc.Graph` `hoverData` and `clickData` when `hoveranywhere` or `clickanywhere` is enabled in the figure. - [#3960](https://github.com/plotly/dash/pull/3960) Rewrite `dcc.Markdown` and `dcc.Link` as Typescript components - [#3881](https://github.com/plotly/dash/pull/3881) Added `dash.remount`, a wrapper for a callback-returned component that forces the renderer to remount it (resetting its internal state) instead of reconciling in place: the explicit way to reset a stateful component from a callback without changing its `id`. ### Removed -- [#3646](https://github.com/plotly/dash/pull/3646) Remove React 16 support (`16.14.0` is no longer an accepted value for `REACT_VERSION` / `_set_react_version`). +- [#3880](https://github.com/plotly/dash/pull/3880) Remove React 16 support (`16.14.0` is no longer an accepted value for `REACT_VERSION` / `_set_react_version`). - [#4039](https://github.com/plotly/dash/pull/4039) Remove unnecessary Python version checks (pre 3.9). ### Changed @@ -47,18 +49,23 @@ This project adheres to [Semantic Versioning](https://semver.org/). - [#3941](https://github.com/plotly/dash/pull/3941) Fix the FastAPI and Quart backends opening a WebSocket connection on every page load even for apps with no WebSocket callbacks; the socket now opens only when actually needed. Fixes [#3939](https://github.com/plotly/dash/issues/3939). - [#3916](https://github.com/plotly/dash/pull/3916) Fixed a regression where dragging multiple files into `dcc.Upload` would upload only the first file when `multiple=True` - [#3922](https://github.com/plotly/dash/pull/3922) Fix `dcc.Input(type="number")` stepper behavior when only `min` is set. -- [#3925](https://github.com/plotly/dash/pull/3925) Use the proxied url as the Jupyter server url so `DASH_PROXY` is honored by the external url and inline iframe in notebooks. +- [#3936](https://github.com/plotly/dash/pull/3936) Use the proxied url as the Jupyter server url so `DASH_PROXY` is honored by the external url and inline iframe in notebooks. Fixes [#3401](https://github.com/plotly/dash/issues/3401). - [#3938](https://github.com/plotly/dash/pull/3938) Fix `dcc.Patch()` re-running the initial callbacks of components already on the page (including every `MATCH`/`ALL` element) and wiping their user-edited persisted values. Fixes [#3681](https://github.com/plotly/dash/issues/3681) and [#3937](https://github.com/plotly/dash/issues/3937) - [#3960](https://github.com/plotly/dash/pull/3960) Fix `dcc.Markdown` not rendering `` by using newer dependencies -- [#3846](https://github.com/plotly/dash/issues/3846) Fix callback-returned children being unmounted and remounted on every update instead of reconciled in place, which reset component state and slowed large subtrees 3-4x (regression introduced in 4.2.0 by [#3570](https://github.com/plotly/dash/pull/3570)); use `dash.remount` to force a remount. +- [#3881](https://github.com/plotly/dash/pull/3881) Fix callback-returned children being unmounted and remounted on every update instead of reconciled in place, which reset component state and slowed large subtrees 3-4x (regression introduced in 4.2.0 by [#3570](https://github.com/plotly/dash/pull/3570)); use `dash.remount` to force a remount. Fixes [#3846](https://github.com/plotly/dash/issues/3846). - [#3881](https://github.com/plotly/dash/pull/3881) Fix components rendered as props (eg. `dcc.Dropdown` option labels, `dcc.Tab` labels) crashing or failing to update when the host subtree was replaced by a callback; out-of-tree `ExternalWrapper` components now re-insert themselves and update in place. -- [#3929](https://github.com/plotly/dash/issues/3929) Fix components that set their own initial state on mount (eg. `dash-bootstrap-components` `Tabs`) not applying it on first render, because descendant layout hashes were reset on the first fresh render (regression introduced in 4.2.0 by [#3570](https://github.com/plotly/dash/pull/3570)). -- [#3948](https://github.com/plotly/dash/issues/3948) Fix page getting progressively slower as callbacks append children +- [#3881](https://github.com/plotly/dash/pull/3881) Fix components that set their own initial state on mount (eg. `dash-bootstrap-components` `Tabs`) not applying it on first render, because descendant layout hashes were reset on the first fresh render (regression introduced in 4.2.0 by [#3570](https://github.com/plotly/dash/pull/3570)). Fixes [#3929](https://github.com/plotly/dash/issues/3929). +- [#3948](https://github.com/plotly/dash/pull/3948) Fix page getting progressively slower as callbacks append children. +- [#3915](https://github.com/plotly/dash/pull/3915) Fix MCP tool results erroring when a figure cannot be rendered to an image (eg. Kaleido without Chrome); the image is now skipped. Fixes [#3914](https://github.com/plotly/dash/issues/3914). +- [#3621](https://github.com/plotly/dash/pull/3621) Fix component generation crashing when the path to `extract-meta.js` contains a space. +- [#3895](https://github.com/plotly/dash/pull/3895) Component generation errors from `extract-meta.js` now name the file, prop path and line where they originate. Fixes [#3362](https://github.com/plotly/dash/issues/3362). - [#4014](https://github.com/plotly/dash/pull/4014) Disable autocomplete in DatePickerSingle and DatePickerRange inputs. Fixes [#4009](https://github.com/plotly/dash/issues/4009). - [#4007](https://github.com/plotly/dash/pull/4007) Fix page loads failing with a 500 error on Windows when Dash is imported from an extended-length (`\\?\`) path, as in JupyterLab Desktop. Package resource paths are now joined with the OS separator instead of `/`. Fixes [#3002](https://github.com/plotly/dash/issues/3002). - [#4023](https://github.com/plotly/dash/pull/4023) Fix extra callback registrations when an app runs from the parent directory: `python app/app.py`, where the script shares its folder's name, registered its callbacks twice, and `python app/main.py` imported a sibling `app/app.py` as the parent package and registered its callbacks too (regression introduced in 4.4.1 by [#3883](https://github.com/plotly/dash/pull/3883)). Fixes [#4011](https://github.com/plotly/dash/issues/4011). - [#4057](https://github.com/plotly/dash/pull/4057) Fixed background callbacks to update `set_props` instead of replacing. Fixes [#3104](https://github.com/plotly/dash/issues/3104). - [#3923](https://github.com/plotly/dash/pull/3923) Fix a blank page and `SyntaxError` in the browser when a dict component ID has a dot in one of its values. Fixes [#3480](https://github.com/plotly/dash/issues/3480). +- [#4074](https://github.com/plotly/dash/pull/4074) Fix Pages passing percent-encoded path variables to `layout` and `title`, and the 404 page for paths with spaces or non-ASCII characters. Fixes [#2360](https://github.com/plotly/dash/issues/2360). +- [#4012](https://github.com/plotly/dash/pull/4012) Fix `InvalidCallbackReturnValue` raised when a no-output background callback's error handler returns `None` (or the job is cancelled), by treating `None` returns from error handlers and the cancelled-job branch the same way: `NoUpdate()` only when there are outputs, `None` otherwise. Fixes [#3628](https://github.com/plotly/dash/issues/3628). ## [4.4.1] - 2026-07-21 diff --git a/components/dash-core-components/package-lock.json b/components/dash-core-components/package-lock.json index c4da37688e..a0ac4a24b2 100644 --- a/components/dash-core-components/package-lock.json +++ b/components/dash-core-components/package-lock.json @@ -1,12 +1,12 @@ { "name": "dash-core-components", - "version": "4.5.2", + "version": "4.5.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dash-core-components", - "version": "4.5.2", + "version": "4.5.3", "license": "MIT", "dependencies": { "@fortawesome/fontawesome-svg-core": "1.2.36", diff --git a/components/dash-core-components/package.json b/components/dash-core-components/package.json index 67011908dd..31944242c3 100644 --- a/components/dash-core-components/package.json +++ b/components/dash-core-components/package.json @@ -1,6 +1,6 @@ { "name": "dash-core-components", - "version": "4.5.2", + "version": "4.5.3", "description": "Core component suite for Dash", "repository": { "type": "git", diff --git a/components/dash-html-components/package-lock.json b/components/dash-html-components/package-lock.json index acf014de05..8a5a260e7e 100644 --- a/components/dash-html-components/package-lock.json +++ b/components/dash-html-components/package-lock.json @@ -1,12 +1,12 @@ { "name": "dash-html-components", - "version": "4.5.2", + "version": "4.5.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dash-html-components", - "version": "4.5.2", + "version": "4.5.3", "license": "MIT", "dependencies": { "prop-types": "^15.8.1", diff --git a/components/dash-html-components/package.json b/components/dash-html-components/package.json index c8a91b33f9..7ee88ed685 100644 --- a/components/dash-html-components/package.json +++ b/components/dash-html-components/package.json @@ -1,6 +1,6 @@ { "name": "dash-html-components", - "version": "4.5.2", + "version": "4.5.3", "description": "Vanilla HTML components for Dash", "main": "lib/index.js", "repository": { diff --git a/components/dash-table/package-lock.json b/components/dash-table/package-lock.json index 0eb13e3678..8ea352f2e3 100644 --- a/components/dash-table/package-lock.json +++ b/components/dash-table/package-lock.json @@ -1,12 +1,12 @@ { "name": "dash-table", - "version": "7.5.2", + "version": "7.5.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dash-table", - "version": "7.5.2", + "version": "7.5.3", "license": "MIT", "devDependencies": { "@babel/cli": "^7.28.6", diff --git a/components/dash-table/package.json b/components/dash-table/package.json index 5552ef209a..1e58489779 100644 --- a/components/dash-table/package.json +++ b/components/dash-table/package.json @@ -1,6 +1,6 @@ { "name": "dash-table", - "version": "7.5.2", + "version": "7.5.3", "description": "Dash table", "repository": { "type": "git", diff --git a/dash/_callback.py b/dash/_callback.py index 4191e85e7d..f07741e5f1 100644 --- a/dash/_callback.py +++ b/dash/_callback.py @@ -683,6 +683,7 @@ def _update_background_callback( kwargs, background, multi, + output_spec, cache_key=None, job_id=None, ): @@ -711,6 +712,7 @@ def _update_background_callback( error_handler, callback_ctx, multi, + output_spec, cache_key=cache_key, job_id=job_id, ) @@ -723,6 +725,7 @@ def _handle_rest_background_callback( error_handler, callback_ctx, multi, + output_spec, has_update=False, cache_key=None, job_id=None, @@ -731,7 +734,10 @@ def _handle_rest_background_callback( job_running = callback_manager.job_running(job_id) if job_id is not None else False if not job_running and output_value is callback_manager.UNDEFINED: # Job canceled -> no output to close the loop. - output_value = NoUpdate() + if output_spec: + output_value = NoUpdate() + else: + output_value = None elif isinstance(output_value, dict) and "background_callback_error" in output_value: error = output_value.get("background_callback_error", {}) @@ -741,7 +747,7 @@ def _handle_rest_background_callback( if error_handler: output_value = error_handler(exc) - if output_value is None: + if output_value is None and output_spec: output_value = NoUpdate() # set_props from the error handler uses the original ctx # instead of manager.get_updated_props since it runs in the @@ -975,7 +981,13 @@ def add_context(*args, **kwargs): ) output_value, has_update, skip = _update_background_callback( - error_handler, callback_ctx, response, kwargs, background, multi + error_handler, + callback_ctx, + response, + kwargs, + background, + multi, + output_spec, ) if skip: return output_value @@ -1047,7 +1059,13 @@ async def async_add_context(*args, **kwargs): callback_ctx, ) output_value, has_update, skip = _update_background_callback( - error_handler, callback_ctx, response, kwargs, background, multi + error_handler, + callback_ctx, + response, + kwargs, + background, + multi, + output_spec, ) if skip: return output_value diff --git a/dash/_callback_context.py b/dash/_callback_context.py index 430d04591a..2245ddad76 100644 --- a/dash/_callback_context.py +++ b/dash/_callback_context.py @@ -216,7 +216,7 @@ def shared_storage(self): A backend-agnostic key/value + publish/subscribe store shared across worker processes -- for cross-callback or session state without an - external service. Requires ``Dash(shared_storage=...)`` (on by default). + external service. Requires ``Dash(shared_storage=...)`` (off by default). """ return get_app().shared_storage diff --git a/dash/_dash_renderer.py b/dash/_dash_renderer.py index dbc8b78518..793f952033 100644 --- a/dash/_dash_renderer.py +++ b/dash/_dash_renderer.py @@ -1,7 +1,7 @@ import os from typing import Any, List, Dict -__version__ = "3.5.2" +__version__ = "3.5.3" _available_react_versions = {"18.3.1", "18.2.0", "19.2.4"} _available_reactdom_versions = {"18.3.1", "18.2.0", "19.2.4"} @@ -85,7 +85,7 @@ def _set_react_version(v_react, v_reactdom=None): { "relative_package_path": "dash-renderer/build/dash_renderer.min.js", "dev_package_path": "dash-renderer/build/dash_renderer.dev.js", - "external_url": "https://unpkg.com/dash-renderer@3.5.2" + "external_url": "https://unpkg.com/dash-renderer@3.5.3" "/build/dash_renderer.min.js", "namespace": "dash", }, diff --git a/dash/_shared_storage/__init__.py b/dash/_shared_storage/__init__.py index 2dba0ac90c..a26079595c 100644 --- a/dash/_shared_storage/__init__.py +++ b/dash/_shared_storage/__init__.py @@ -2,7 +2,7 @@ Exposes the ``BaseSharedStorage`` interface and its backends: -- ``LocalSharedStorage`` (default): in-memory, owner-elected -- one container. +- ``LocalSharedStorage``: in-memory, owner-elected -- one container. - ``DiskcacheSharedStorage``: on a ``diskcache.Cache`` -- one machine, not pods. - ``RedisSharedStorage``: on Redis -- across processes and containers. """ diff --git a/dash/_shared_storage/_codec.py b/dash/_shared_storage/_codec.py index 4884c1625f..3fa169cc53 100644 --- a/dash/_shared_storage/_codec.py +++ b/dash/_shared_storage/_codec.py @@ -1,27 +1,54 @@ -"""Codec for the shared-storage socket transport. +"""Codec for the shared-storage transport and the persistent backends. -Uses ``msgspec`` (msgpack: fast, compact), a hard dependency of Dash. The -format is data-only, so bytes read off the socket cannot execute code. +Uses ``msgspec`` (msgpack: fast, compact) from the ``dash[shared_storage]`` +extra, also part of ``dash[diskcache]`` and ``dash[redis]``. Without it, only +the in-memory transport works and it falls back to stdlib JSON; the backends +that write encoded bytes somewhere lasting (disk persistence, diskcache, Redis) +call :func:`require_msgspec` so the stored format never depends on what +happens to be installed. Both formats are +data-only, so bytes read off the socket cannot execute code. Payloads must be JSON-compatible (dict / list / str / int / float / bool / None) -- the same constraint as ``dcc.Store`` and callback outputs. """ +import json from typing import Any -import msgspec +try: + import msgspec +except ImportError: + msgspec = None # type: ignore[assignment] -# msgspec raises this on malformed input. It subclasses ``ValueError`` in -# current msgspec but not in every version, so callers should catch it by name. -DecodeError = msgspec.DecodeError +HAS_MSGSPEC = msgspec is not None -_encoder = msgspec.msgpack.Encoder() -_decoder = msgspec.msgpack.Decoder() +if msgspec is not None: + # msgspec raises this on malformed input. It subclasses ``ValueError`` in + # current msgspec but not in every version, so callers should catch it by + # name. + DecodeError: Any = msgspec.DecodeError + _encoder = msgspec.msgpack.Encoder() + _decoder = msgspec.msgpack.Decoder() + def encode(obj: Any) -> bytes: + return _encoder.encode(obj) -def encode(obj: Any) -> bytes: - return _encoder.encode(obj) + def decode(data: bytes) -> Any: + return _decoder.decode(data) +else: + DecodeError = json.JSONDecodeError -def decode(data: bytes) -> Any: - return _decoder.decode(data) + def encode(obj: Any) -> bytes: + return json.dumps(obj, separators=(",", ":")).encode("utf-8") + + def decode(data: bytes) -> Any: + return json.loads(data) + + +def require_msgspec(what: str, extra: str = "shared_storage") -> None: + if not HAS_MSGSPEC: + raise ImportError( + f"{what} requires the {extra} extra:\n\n" + f' $ pip install "dash[{extra}]"\n' + ) diff --git a/dash/_shared_storage/_env.py b/dash/_shared_storage/_env.py index 9c539452af..e8d80d1b83 100644 --- a/dash/_shared_storage/_env.py +++ b/dash/_shared_storage/_env.py @@ -49,10 +49,10 @@ def storage_from_env(value: Optional[str]) -> Any: """ raw = (value or "").strip() lowered = raw.lower() - if lowered in ("", "local"): - return LocalSharedStorage - if lowered == "none": + if lowered in ("", "none"): return None + if lowered == "local": + return LocalSharedStorage try: scheme = urlparse(raw).scheme.lower() diff --git a/dash/_shared_storage/_persistence.py b/dash/_shared_storage/_persistence.py index 1912a9bd08..1032a20bc4 100644 --- a/dash/_shared_storage/_persistence.py +++ b/dash/_shared_storage/_persistence.py @@ -4,8 +4,8 @@ keys are sharded across fixed-size chunk files via a key->chunk index, so a single mutation rewrites only the affected chunk rather than the whole store (the design is adapted from raposa's ``BinaryStorage``). Serialization is -msgspec msgpack via :mod:`._codec`; each chunk write is atomic (temp file + -``os.replace``). +msgspec msgpack via :mod:`._codec` (the ``dash[shared_storage]`` extra); each +chunk write is atomic (temp file + ``os.replace``). Two modes drive *when* the store is written: diff --git a/dash/_shared_storage/_transport.py b/dash/_shared_storage/_transport.py index c8be5a7863..97eb2f3f94 100644 --- a/dash/_shared_storage/_transport.py +++ b/dash/_shared_storage/_transport.py @@ -3,9 +3,9 @@ A single owner process serves one :class:`StoreEngine` over a stream socket (AF_UNIX where available, TCP loopback otherwise). Messages are length-prefixed: a 4-byte big-endian length followed by a body encoded by ``_codec`` (msgspec -msgpack). The codec is data-only -- the socket is -localhost-only, but deserializing untrusted bytes off a socket is a -remote-code-execution hazard, so the transport carries only data. The channel is +msgpack, or JSON without the ``dash[shared_storage]`` extra). The codec is +data-only -- the socket is localhost-only, but deserializing untrusted bytes off +a socket is a remote-code-execution hazard, so the transport carries only data. The channel is additionally gated by a per-owner random token; only same-host clients that read the owner's advertisement file (written 0600) can attach. diff --git a/dash/_shared_storage/diskcache.py b/dash/_shared_storage/diskcache.py index a232dc37ca..e5b2416c34 100644 --- a/dash/_shared_storage/diskcache.py +++ b/dash/_shared_storage/diskcache.py @@ -20,7 +20,7 @@ import time from typing import Any, Optional -from ._codec import decode, encode +from ._codec import decode, encode, require_msgspec from ._engine import DEFAULT_BUFFER, PollResult from ._polling import PollingSubscription from .base import BaseSharedStorage, Subscription, check_topic_ttl @@ -37,6 +37,7 @@ def _require_diskcache(): + require_msgspec("DiskcacheSharedStorage", "diskcache") try: import diskcache # type: ignore[import-not-found,import-untyped] # pylint: disable=import-outside-toplevel diff --git a/dash/_shared_storage/local.py b/dash/_shared_storage/local.py index c81ddfe299..9c857f9a48 100644 --- a/dash/_shared_storage/local.py +++ b/dash/_shared_storage/local.py @@ -25,6 +25,7 @@ import time from typing import Any, Optional, Tuple +from ._codec import require_msgspec from ._engine import DEFAULT_BUFFER, PollResult, StoreEngine from ._persistence import _Persistence, default_store_dir from ._transport import ( @@ -477,6 +478,7 @@ class LocalSharedStorage(BaseSharedStorage): ``flush_interval`` seconds and on clean exit, and recovered on start; up to one interval of writes may be lost on an unclean crash. + The persistent modes need the ``dash[shared_storage]`` extra (msgspec). ``path`` is the on-disk store directory for the persistent modes; it defaults to a per-namespace folder under the user cache directory. ``flush_interval`` (seconds) only applies to ``"persist-reset"``. @@ -501,6 +503,8 @@ def __init__( raise SharedStorageError( f"flush_interval must be positive, got {flush_interval!r}" ) + if mode != "memory": + require_msgspec(f"LocalSharedStorage(mode={mode!r})") ns = namespace or _default_namespace() if mode != "memory" and path is None: path = default_store_dir(ns) diff --git a/dash/_shared_storage/redis.py b/dash/_shared_storage/redis.py index 1fdcbefb05..6c3743ef47 100644 --- a/dash/_shared_storage/redis.py +++ b/dash/_shared_storage/redis.py @@ -27,7 +27,7 @@ import time from typing import Any, Dict, List, Optional, Set, Tuple -from ._codec import decode, encode +from ._codec import decode, encode, require_msgspec from ._engine import DEFAULT_BUFFER, PollResult from ._polling import PollingSubscription from .base import ( @@ -93,6 +93,7 @@ def _require_redis(): + require_msgspec("RedisSharedStorage", "redis") try: import redis # type: ignore[import-not-found,import-untyped] # pylint: disable=import-outside-toplevel diff --git a/dash/_validate.py b/dash/_validate.py index b80c61df2c..5c069581d1 100644 --- a/dash/_validate.py +++ b/dash/_validate.py @@ -564,6 +564,33 @@ def validate_background_callbacks(callback_map): ) +def validate_stream_callbacks( + callback_map, shared_storage_enabled, websocket_callbacks, websocket_capable +): + # Over HTTP a stream needs shared storage to broker its frames. Fail the same + # way locally as in a deployment rather than streaming one way here and + # breaking there. A websocket flag only counts on a backend that serves + # WebSockets; on Flask those callbacks still run over HTTP. + if shared_storage_enabled: + return + streams = [ + callback_id + for callback_id, callback in callback_map.items() + if callback.get("stream") + and not ( + websocket_capable and (websocket_callbacks or callback.get("websocket")) + ) + ] + if streams: + raise exceptions.StreamCallbackError( + f"Streaming callbacks {streams} run over HTTP and need shared " + "storage. Pass Dash(shared_storage=dash.LocalSharedStorage) (or a " + "Diskcache or Redis backend), set DASH_SHARED_STORAGE, or run them " + "over WebSocket on a backend that supports it (FastAPI or Quart, " + "with websocket_callbacks=True or websocket=True on the callback)." + ) + + def validate_duplicate_output( output, prevent_initial_call, config_prevent_initial_call ): diff --git a/dash/backends/_fastapi.py b/dash/backends/_fastapi.py index ec1514a405..ee59f91084 100644 --- a/dash/backends/_fastapi.py +++ b/dash/backends/_fastapi.py @@ -718,7 +718,7 @@ async def _dispatch( downlink = body.get("streamDownlink") if downlink is not None: connection_id = get_stream_connection_id() - if connection_id is None: + if connection_id is None or not dash_app.shared_storage_enabled: return Response(status_code=403) return _ndjson_response( async_downlink_marker( diff --git a/dash/backends/_flask.py b/dash/backends/_flask.py index 8054a25ac7..03ffedb2b7 100644 --- a/dash/backends/_flask.py +++ b/dash/backends/_flask.py @@ -310,7 +310,7 @@ def _serve_downlink(downlink): # The connection id is derived from the signed end_id, never taken # from the client, so a page can only ever read its own topic. connection_id = get_stream_connection_id() - if connection_id is None: + if connection_id is None or not dash_app.shared_storage_enabled: return Response(status=403) envelopes = poll_downlink( dash_app.shared_storage, connection_id, downlink.get("from") diff --git a/dash/backends/_quart.py b/dash/backends/_quart.py index ac58e1acf5..408463343e 100644 --- a/dash/backends/_quart.py +++ b/dash/backends/_quart.py @@ -447,7 +447,7 @@ async def _dispatch(): # pylint: disable=too-many-return-statements downlink = body.get("streamDownlink") if downlink is not None: connection_id = get_stream_connection_id() - if connection_id is None: + if connection_id is None or not dash_app.shared_storage_enabled: return Response(status=403) # type: ignore[return-value] marker = async_downlink_marker( dash_app.shared_storage, diff --git a/dash/dash-renderer/build/dash_renderer.dev.js b/dash/dash-renderer/build/dash_renderer.dev.js index b6d303ea98..3b23ec5f1a 100644 --- a/dash/dash-renderer/build/dash_renderer.dev.js +++ b/dash/dash-renderer/build/dash_renderer.dev.js @@ -1,21 +1,21 @@ /******/ (function() { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ "./node_modules/@plotly/dash-component-plugins/dist/index.js": +/***/ "./node_modules/@plotly/dash-component-plugins/dist/index.js" /*!*******************************************************************!*\ !*** ./node_modules/@plotly/dash-component-plugins/dist/index.js ***! \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { !function(e,n){ true?module.exports=n(__webpack_require__(/*! react */ "react")):0}(window,(function(e){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=1)}([function(n,t){n.exports=e},function(e,n,t){"use strict";t.r(n),t.d(n,"asyncDecorator",(function(){return u})),t.d(n,"inheritAsyncDecorator",(function(){return a})),t.d(n,"isReady",(function(){return c})),t.d(n,"History",(function(){return d}));var r=t(0);function o(e,n,t,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void t(e)}a.done?n(c):Promise.resolve(c).then(r,o)}function i(e){return function(){var n=this,t=arguments;return new Promise((function(r,i){var u=e.apply(n,t);function a(e){o(u,r,i,a,c,"next",e)}function c(e){o(u,r,i,a,c,"throw",e)}a(void 0)}))}}var u=function(e,n){var t,o={isReady:new Promise((function(e){t=e})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(e){return setTimeout(i(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t(!0);case 2:o.isReady=!0;case 3:case"end":return e.stop()}}),e)}))),0),e}))}))};return Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},a=function(e,n){Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return c(n)}})},c=function(e){return e&&e._dashprivate_isLazyComponentReady};function f(e,n){for(var t=0;t form > p {\n display: none;\n}\n.plain pre {\n padding: 15px !important;\n overflow-x: scroll;\n}\n\n.debugger div.traceback pre {\n cursor: default;\n}\n\n.debugger .traceback .source pre.line img {\n display: none;\n}\n"); -/***/ }), +/***/ }, -/***/ "./src/constants/constants.js": +/***/ "./src/constants/constants.js" /*!************************************!*\ !*** ./src/constants/constants.js ***! \************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -12620,13 +12620,13 @@ var STATUSMAP = { [STATUS.PREVENT_UPDATE]: 'NO_UPDATE' }; -/***/ }), +/***/ }, -/***/ "./src/exceptions.js": +/***/ "./src/exceptions.js" /*!***************************!*\ !*** ./src/exceptions.js ***! \***************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -12739,13 +12739,13 @@ function propTypeErrorHandler(message, props, type) { throw new Error(errorMessage); } -/***/ }), +/***/ }, -/***/ "./src/isSimpleComponent.js": +/***/ "./src/isSimpleComponent.js" /*!**********************************!*\ !*** ./src/isSimpleComponent.js ***! \**********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -12757,13 +12757,13 @@ var SIMPLE_COMPONENT_TYPES = ['String', 'Number', 'Null', 'Boolean']; return (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(component), SIMPLE_COMPONENT_TYPES); }); -/***/ }), +/***/ }, -/***/ "./src/persistence.js": +/***/ "./src/persistence.js" /*!****************************!*\ !*** ./src/persistence.js ***! \****************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13278,13 +13278,13 @@ function prunePersistence(layout, newProps, dispatch) { return persistenceChanged ? (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(newProps, update) : newProps; } -/***/ }), +/***/ }, -/***/ "./src/react-shim.js": +/***/ "./src/react-shim.js" /*!***************************!*\ !*** ./src/react-shim.js ***! \***************************/ -/***/ (function() { +() { /** * React compatibility shim @@ -13401,13 +13401,13 @@ function prunePersistence(layout, newProps, dispatch) { }; })(); -/***/ }), +/***/ }, -/***/ "./src/reducers/api.js": +/***/ "./src/reducers/api.js" /*!*****************************!*\ !*** ./src/reducers/api.js ***! \*****************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13444,13 +13444,13 @@ function createApiReducer(store) { }; } -/***/ }), +/***/ }, -/***/ "./src/reducers/appLifecycle.js": +/***/ "./src/reducers/appLifecycle.js" /*!**************************************!*\ !*** ./src/reducers/appLifecycle.js ***! \**************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13470,13 +13470,13 @@ function appLifecycle() { } /* harmony default export */ __webpack_exports__["default"] = (appLifecycle); -/***/ }), +/***/ }, -/***/ "./src/reducers/changed.js": +/***/ "./src/reducers/changed.js" /*!*********************************!*\ !*** ./src/reducers/changed.js ***! \*********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13493,13 +13493,13 @@ function changed() { } /* harmony default export */ __webpack_exports__["default"] = (changed); -/***/ }), +/***/ }, -/***/ "./src/reducers/config.js": +/***/ "./src/reducers/config.js" /*!********************************!*\ !*** ./src/reducers/config.js ***! \********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13527,13 +13527,13 @@ function config() { return state; } -/***/ }), +/***/ }, -/***/ "./src/reducers/constants.js": +/***/ "./src/reducers/constants.js" /*!***********************************!*\ !*** ./src/reducers/constants.js ***! \***********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13552,13 +13552,13 @@ function getAppState(state) { throw new Error("".concat(state, " is not a valid app state.")); } -/***/ }), +/***/ }, -/***/ "./src/reducers/dependencyGraph.js": +/***/ "./src/reducers/dependencyGraph.js" /*!*****************************************!*\ !*** ./src/reducers/dependencyGraph.js ***! \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13573,13 +13573,13 @@ var graphs = function graphs() { }; /* harmony default export */ __webpack_exports__["default"] = (graphs); -/***/ }), +/***/ }, -/***/ "./src/reducers/error.js": +/***/ "./src/reducers/error.js" /*!*******************************!*\ !*** ./src/reducers/error.js ***! \*******************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13644,13 +13644,13 @@ function error() { } } -/***/ }), +/***/ }, -/***/ "./src/reducers/history.js": +/***/ "./src/reducers/history.js" /*!*********************************!*\ !*** ./src/reducers/history.js ***! \*********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13715,13 +13715,13 @@ function history() { } /* harmony default export */ __webpack_exports__["default"] = (history); -/***/ }), +/***/ }, -/***/ "./src/reducers/hooks.js": +/***/ "./src/reducers/hooks.js" /*!*******************************!*\ !*** ./src/reducers/hooks.js ***! \*******************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13745,13 +13745,13 @@ var customHooks = function customHooks() { }; /* harmony default export */ __webpack_exports__["default"] = (customHooks); -/***/ }), +/***/ }, -/***/ "./src/reducers/layout.js": +/***/ "./src/reducers/layout.js" /*!********************************!*\ !*** ./src/reducers/layout.js ***! \********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13809,13 +13809,13 @@ var layout = function layout() { }; /* harmony default export */ __webpack_exports__["default"] = (layout); -/***/ }), +/***/ }, -/***/ "./src/reducers/paths.js": +/***/ "./src/reducers/paths.js" /*!*******************************!*\ !*** ./src/reducers/paths.js ***! \*******************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13836,13 +13836,13 @@ var paths = function paths() { }; /* harmony default export */ __webpack_exports__["default"] = (paths); -/***/ }), +/***/ }, -/***/ "./src/reducers/profile.js": +/***/ "./src/reducers/profile.js" /*!*********************************!*\ !*** ./src/reducers/profile.js ***! \*********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -13933,13 +13933,13 @@ var profile = function profile() { }; /* harmony default export */ __webpack_exports__["default"] = (profile); -/***/ }), +/***/ }, -/***/ "./src/reducers/reducer.js": +/***/ "./src/reducers/reducer.js" /*!*********************************!*\ !*** ./src/reducers/reducer.js ***! \*********************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -14139,13 +14139,13 @@ function createReducer() { return reloaderReducer(recordHistory(mainReducer())); } -/***/ }), +/***/ }, -/***/ "./src/registry.js": +/***/ "./src/registry.js" /*!*************************!*\ !*** ./src/registry.js ***! \*************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -14164,13 +14164,13 @@ __webpack_require__.r(__webpack_exports__); } }); -/***/ }), +/***/ }, -/***/ "./node_modules/cytoscape-fcose/cytoscape-fcose.js": +/***/ "./node_modules/cytoscape-fcose/cytoscape-fcose.js" /*!*********************************************************!*\ !*** ./node_modules/cytoscape-fcose/cytoscape-fcose.js ***! \*********************************************************/ -/***/ (function(module, exports, __webpack_require__) { +(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } @@ -15700,13 +15700,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }(); }); -/***/ }), +/***/ }, -/***/ "./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js": +/***/ "./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js" /*!***********************************************************************!*\ !*** ./node_modules/react-cytoscapejs/dist/react-cytoscape.modern.js ***! \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -15988,13 +15988,13 @@ var w = /*#__PURE__*/function (_e$Component) { }((react__WEBPACK_IMPORTED_MODULE_0___default().Component)); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/components/Context.js": +/***/ "./node_modules/react-redux/es/components/Context.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/components/Context.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16024,13 +16024,13 @@ function getContext() { var ReactReduxContext = /*#__PURE__*/getContext(); /* harmony default export */ __webpack_exports__["default"] = (ReactReduxContext); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/components/Provider.js": +/***/ "./node_modules/react-redux/es/components/Provider.js" /*!************************************************************!*\ !*** ./node_modules/react-redux/es/components/Provider.js ***! \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16087,13 +16087,13 @@ function Provider(_ref) { } /* harmony default export */ __webpack_exports__["default"] = (Provider); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/components/connect.js": +/***/ "./node_modules/react-redux/es/components/connect.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/components/connect.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16521,13 +16521,13 @@ function connect(mapStateToProps, mapDispatchToProps, mergeProps) { } /* harmony default export */ __webpack_exports__["default"] = (connect); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/invalidArgFactory.js": +/***/ "./node_modules/react-redux/es/connect/invalidArgFactory.js" /*!******************************************************************!*\ !*** ./node_modules/react-redux/es/connect/invalidArgFactory.js ***! \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16541,13 +16541,13 @@ function createInvalidArgFactory(arg, name) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/mapDispatchToProps.js": +/***/ "./node_modules/react-redux/es/connect/mapDispatchToProps.js" /*!*******************************************************************!*\ !*** ./node_modules/react-redux/es/connect/mapDispatchToProps.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16576,13 +16576,13 @@ function mapDispatchToPropsFactory(mapDispatchToProps) { (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mapDispatchToProps, 'mapDispatchToProps'); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/mapStateToProps.js": +/***/ "./node_modules/react-redux/es/connect/mapStateToProps.js" /*!****************************************************************!*\ !*** ./node_modules/react-redux/es/connect/mapStateToProps.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16601,13 +16601,13 @@ function mapStateToPropsFactory(mapStateToProps) { (0,_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_1__.createInvalidArgFactory)(mapStateToProps, 'mapStateToProps'); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/mergeProps.js": +/***/ "./node_modules/react-redux/es/connect/mergeProps.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/connect/mergeProps.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16651,13 +16651,13 @@ function mergePropsFactory(mergeProps) { } : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : (0,_invalidArgFactory__WEBPACK_IMPORTED_MODULE_2__.createInvalidArgFactory)(mergeProps, 'mergeProps'); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/selectorFactory.js": +/***/ "./node_modules/react-redux/es/connect/selectorFactory.js" /*!****************************************************************!*\ !*** ./node_modules/react-redux/es/connect/selectorFactory.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16740,13 +16740,13 @@ function finalPropsSelectorFactory(dispatch, _ref) { return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/verifySubselectors.js": +/***/ "./node_modules/react-redux/es/connect/verifySubselectors.js" /*!*******************************************************************!*\ !*** ./node_modules/react-redux/es/connect/verifySubselectors.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16770,13 +16770,13 @@ function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps) { verify(mergeProps, 'mergeProps'); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/connect/wrapMapToProps.js": +/***/ "./node_modules/react-redux/es/connect/wrapMapToProps.js" /*!***************************************************************!*\ !*** ./node_modules/react-redux/es/connect/wrapMapToProps.js ***! \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16850,13 +16850,13 @@ function wrapMapToPropsFunc(mapToProps, methodName) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/exports.js": +/***/ "./node_modules/react-redux/es/exports.js" /*!************************************************!*\ !*** ./node_modules/react-redux/es/exports.js ***! \************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16890,13 +16890,13 @@ __webpack_require__.r(__webpack_exports__); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/hooks/useDispatch.js": +/***/ "./node_modules/react-redux/es/hooks/useDispatch.js" /*!**********************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useDispatch.js ***! \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -16950,13 +16950,13 @@ function createDispatchHook() { var useDispatch = /*#__PURE__*/createDispatchHook(); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/hooks/useReduxContext.js": +/***/ "./node_modules/react-redux/es/hooks/useReduxContext.js" /*!**************************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useReduxContext.js ***! \**************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17006,13 +17006,13 @@ function createReduxContextHook() { var useReduxContext = /*#__PURE__*/createReduxContextHook(); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/hooks/useSelector.js": +/***/ "./node_modules/react-redux/es/hooks/useSelector.js" /*!**********************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useSelector.js ***! \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17151,13 +17151,13 @@ function createSelectorHook() { var useSelector = /*#__PURE__*/createSelectorHook(); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/hooks/useStore.js": +/***/ "./node_modules/react-redux/es/hooks/useStore.js" /*!*******************************************************!*\ !*** ./node_modules/react-redux/es/hooks/useStore.js ***! \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17208,13 +17208,13 @@ function createStoreHook() { var useStore = /*#__PURE__*/createStoreHook(); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/index.js": +/***/ "./node_modules/react-redux/es/index.js" /*!**********************************************!*\ !*** ./node_modules/react-redux/es/index.js ***! \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17255,25 +17255,25 @@ __webpack_require__.r(__webpack_exports__); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/types.js": +/***/ "./node_modules/react-redux/es/types.js" /*!**********************************************!*\ !*** ./node_modules/react-redux/es/types.js ***! \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/Subscription.js": +/***/ "./node_modules/react-redux/es/utils/Subscription.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/utils/Subscription.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17420,13 +17420,13 @@ function createSubscription(store, parentSub) { return subscription; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/batch.js": +/***/ "./node_modules/react-redux/es/utils/batch.js" /*!****************************************************!*\ !*** ./node_modules/react-redux/es/utils/batch.js ***! \****************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17448,13 +17448,13 @@ var getBatch = function getBatch() { return batch; }; -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/bindActionCreators.js": +/***/ "./node_modules/react-redux/es/utils/bindActionCreators.js" /*!*****************************************************************!*\ !*** ./node_modules/react-redux/es/utils/bindActionCreators.js ***! \*****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17477,13 +17477,13 @@ function bindActionCreators(actionCreators, dispatch) { return boundActionCreators; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/isPlainObject.js": +/***/ "./node_modules/react-redux/es/utils/isPlainObject.js" /*!************************************************************!*\ !*** ./node_modules/react-redux/es/utils/isPlainObject.js ***! \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17506,13 +17506,13 @@ function isPlainObject(obj) { return proto === baseProto; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/reactBatchedUpdates.js": +/***/ "./node_modules/react-redux/es/utils/reactBatchedUpdates.js" /*!******************************************************************!*\ !*** ./node_modules/react-redux/es/utils/reactBatchedUpdates.js ***! \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17523,13 +17523,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__); -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/shallowEqual.js": +/***/ "./node_modules/react-redux/es/utils/shallowEqual.js" /*!***********************************************************!*\ !*** ./node_modules/react-redux/es/utils/shallowEqual.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17560,13 +17560,13 @@ function shallowEqual(objA, objB) { return true; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js": +/***/ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js" /*!************************************************************************!*\ !*** ./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js ***! \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17589,13 +17589,13 @@ __webpack_require__.r(__webpack_exports__); var canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined'); var useIsomorphicLayoutEffect = canUseDOM ? react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect : react__WEBPACK_IMPORTED_MODULE_0__.useEffect; -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/useSyncExternalStore.js": +/***/ "./node_modules/react-redux/es/utils/useSyncExternalStore.js" /*!*******************************************************************!*\ !*** ./node_modules/react-redux/es/utils/useSyncExternalStore.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17606,13 +17606,13 @@ var notInitialized = function notInitialized() { throw new Error('uSES not initialized!'); }; -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/verifyPlainObject.js": +/***/ "./node_modules/react-redux/es/utils/verifyPlainObject.js" /*!****************************************************************!*\ !*** ./node_modules/react-redux/es/utils/verifyPlainObject.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17629,13 +17629,13 @@ function verifyPlainObject(value, displayName, methodName) { } } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/es/utils/warning.js": +/***/ "./node_modules/react-redux/es/utils/warning.js" /*!******************************************************!*\ !*** ./node_modules/react-redux/es/utils/warning.js ***! \******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -17665,13 +17665,13 @@ function warning(message) { /* eslint-enable no-empty */ } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js": +/***/ "./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js" /*!************************************************************************************!*\ !*** ./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js ***! \************************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { +(__unused_webpack_module, exports) { "use strict"; /** @@ -17881,13 +17881,13 @@ if (true) { })(); } -/***/ }), +/***/ }, -/***/ "./node_modules/react-redux/node_modules/react-is/index.js": +/***/ "./node_modules/react-redux/node_modules/react-is/index.js" /*!*****************************************************************!*\ !*** ./node_modules/react-redux/node_modules/react-is/index.js ***! \*****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -17897,13 +17897,13 @@ if (false) // removed by dead control flow module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/react-redux/node_modules/react-is/cjs/react-is.development.js"); } -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/apathy.js": +/***/ "./node_modules/base16/lib/apathy.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/apathy.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -17931,13 +17931,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/ashes.js": +/***/ "./node_modules/base16/lib/ashes.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/ashes.js ***! \******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -17965,13 +17965,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-dune.js": +/***/ "./node_modules/base16/lib/atelier-dune.js" /*!*************************************************!*\ !*** ./node_modules/base16/lib/atelier-dune.js ***! \*************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -17999,13 +17999,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-forest.js": +/***/ "./node_modules/base16/lib/atelier-forest.js" /*!***************************************************!*\ !*** ./node_modules/base16/lib/atelier-forest.js ***! \***************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18033,13 +18033,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-heath.js": +/***/ "./node_modules/base16/lib/atelier-heath.js" /*!**************************************************!*\ !*** ./node_modules/base16/lib/atelier-heath.js ***! \**************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18067,13 +18067,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-lakeside.js": +/***/ "./node_modules/base16/lib/atelier-lakeside.js" /*!*****************************************************!*\ !*** ./node_modules/base16/lib/atelier-lakeside.js ***! \*****************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18101,13 +18101,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/atelier-seaside.js": +/***/ "./node_modules/base16/lib/atelier-seaside.js" /*!****************************************************!*\ !*** ./node_modules/base16/lib/atelier-seaside.js ***! \****************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18135,13 +18135,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/bespin.js": +/***/ "./node_modules/base16/lib/bespin.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/bespin.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18169,13 +18169,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/brewer.js": +/***/ "./node_modules/base16/lib/brewer.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/brewer.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18203,13 +18203,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/bright.js": +/***/ "./node_modules/base16/lib/bright.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/bright.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18237,13 +18237,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/chalk.js": +/***/ "./node_modules/base16/lib/chalk.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/chalk.js ***! \******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18271,13 +18271,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/codeschool.js": +/***/ "./node_modules/base16/lib/codeschool.js" /*!***********************************************!*\ !*** ./node_modules/base16/lib/codeschool.js ***! \***********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18305,13 +18305,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/colors.js": +/***/ "./node_modules/base16/lib/colors.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/colors.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18339,13 +18339,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/default.js": +/***/ "./node_modules/base16/lib/default.js" /*!********************************************!*\ !*** ./node_modules/base16/lib/default.js ***! \********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18373,13 +18373,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/eighties.js": +/***/ "./node_modules/base16/lib/eighties.js" /*!*********************************************!*\ !*** ./node_modules/base16/lib/eighties.js ***! \*********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18407,13 +18407,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/embers.js": +/***/ "./node_modules/base16/lib/embers.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/embers.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18441,13 +18441,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/flat.js": +/***/ "./node_modules/base16/lib/flat.js" /*!*****************************************!*\ !*** ./node_modules/base16/lib/flat.js ***! \*****************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18475,13 +18475,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/google.js": +/***/ "./node_modules/base16/lib/google.js" /*!*******************************************!*\ !*** ./node_modules/base16/lib/google.js ***! \*******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18509,13 +18509,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/grayscale.js": +/***/ "./node_modules/base16/lib/grayscale.js" /*!**********************************************!*\ !*** ./node_modules/base16/lib/grayscale.js ***! \**********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18543,13 +18543,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/greenscreen.js": +/***/ "./node_modules/base16/lib/greenscreen.js" /*!************************************************!*\ !*** ./node_modules/base16/lib/greenscreen.js ***! \************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18577,13 +18577,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/harmonic.js": +/***/ "./node_modules/base16/lib/harmonic.js" /*!*********************************************!*\ !*** ./node_modules/base16/lib/harmonic.js ***! \*********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18611,13 +18611,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/hopscotch.js": +/***/ "./node_modules/base16/lib/hopscotch.js" /*!**********************************************!*\ !*** ./node_modules/base16/lib/hopscotch.js ***! \**********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18645,13 +18645,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/index.js": +/***/ "./node_modules/base16/lib/index.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/index.js ***! \******************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -18808,13 +18808,13 @@ var _twilight = __webpack_require__(/*! ./twilight */ "./node_modules/base16/lib exports.twilight = _interopRequire(_twilight); -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/isotope.js": +/***/ "./node_modules/base16/lib/isotope.js" /*!********************************************!*\ !*** ./node_modules/base16/lib/isotope.js ***! \********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18842,13 +18842,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/marrakesh.js": +/***/ "./node_modules/base16/lib/marrakesh.js" /*!**********************************************!*\ !*** ./node_modules/base16/lib/marrakesh.js ***! \**********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18876,13 +18876,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/mocha.js": +/***/ "./node_modules/base16/lib/mocha.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/mocha.js ***! \******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18910,13 +18910,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/monokai.js": +/***/ "./node_modules/base16/lib/monokai.js" /*!********************************************!*\ !*** ./node_modules/base16/lib/monokai.js ***! \********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18944,13 +18944,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/ocean.js": +/***/ "./node_modules/base16/lib/ocean.js" /*!******************************************!*\ !*** ./node_modules/base16/lib/ocean.js ***! \******************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -18978,13 +18978,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/paraiso.js": +/***/ "./node_modules/base16/lib/paraiso.js" /*!********************************************!*\ !*** ./node_modules/base16/lib/paraiso.js ***! \********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19012,13 +19012,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/pop.js": +/***/ "./node_modules/base16/lib/pop.js" /*!****************************************!*\ !*** ./node_modules/base16/lib/pop.js ***! \****************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19046,13 +19046,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/railscasts.js": +/***/ "./node_modules/base16/lib/railscasts.js" /*!***********************************************!*\ !*** ./node_modules/base16/lib/railscasts.js ***! \***********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19080,13 +19080,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/shapeshifter.js": +/***/ "./node_modules/base16/lib/shapeshifter.js" /*!*************************************************!*\ !*** ./node_modules/base16/lib/shapeshifter.js ***! \*************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19114,13 +19114,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/solarized.js": +/***/ "./node_modules/base16/lib/solarized.js" /*!**********************************************!*\ !*** ./node_modules/base16/lib/solarized.js ***! \**********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19148,13 +19148,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/summerfruit.js": +/***/ "./node_modules/base16/lib/summerfruit.js" /*!************************************************!*\ !*** ./node_modules/base16/lib/summerfruit.js ***! \************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19182,13 +19182,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/threezerotwofour.js": +/***/ "./node_modules/base16/lib/threezerotwofour.js" /*!*****************************************************!*\ !*** ./node_modules/base16/lib/threezerotwofour.js ***! \*****************************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19216,13 +19216,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/tomorrow.js": +/***/ "./node_modules/base16/lib/tomorrow.js" /*!*********************************************!*\ !*** ./node_modules/base16/lib/tomorrow.js ***! \*********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19250,13 +19250,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/tube.js": +/***/ "./node_modules/base16/lib/tube.js" /*!*****************************************!*\ !*** ./node_modules/base16/lib/tube.js ***! \*****************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19284,13 +19284,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/base16/lib/twilight.js": +/***/ "./node_modules/base16/lib/twilight.js" /*!*********************************************!*\ !*** ./node_modules/base16/lib/twilight.js ***! \*********************************************/ -/***/ (function(module, exports) { +(module, exports) { "use strict"; @@ -19318,13 +19318,13 @@ exports["default"] = { }; module.exports = exports['default']; -/***/ }), +/***/ }, -/***/ "./node_modules/color-name/index.js": +/***/ "./node_modules/color-name/index.js" /*!******************************************!*\ !*** ./node_modules/color-name/index.js ***! \******************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -19481,13 +19481,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/color-string/index.js": +/***/ "./node_modules/color-string/index.js" /*!********************************************!*\ !*** ./node_modules/color-string/index.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* MIT license */ var colorNames = __webpack_require__(/*! color-name */ "./node_modules/color-name/index.js"); @@ -19733,13 +19733,13 @@ function hexDouble(num) { } -/***/ }), +/***/ }, -/***/ "./node_modules/color/index.js": +/***/ "./node_modules/color/index.js" /*!*************************************!*\ !*** ./node_modules/color/index.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -20226,13 +20226,13 @@ function zeroArray(arr, length) { module.exports = Color; -/***/ }), +/***/ }, -/***/ "./node_modules/color/node_modules/color-convert/conversions.js": +/***/ "./node_modules/color/node_modules/color-convert/conversions.js" /*!**********************************************************************!*\ !*** ./node_modules/color/node_modules/color-convert/conversions.js ***! \**********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* MIT license */ var cssKeywords = __webpack_require__(/*! color-name */ "./node_modules/color/node_modules/color-name/index.js"); @@ -21104,13 +21104,13 @@ convert.rgb.gray = function (rgb) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/color/node_modules/color-convert/index.js": +/***/ "./node_modules/color/node_modules/color-convert/index.js" /*!****************************************************************!*\ !*** ./node_modules/color/node_modules/color-convert/index.js ***! \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var conversions = __webpack_require__(/*! ./conversions */ "./node_modules/color/node_modules/color-convert/conversions.js"); var route = __webpack_require__(/*! ./route */ "./node_modules/color/node_modules/color-convert/route.js"); @@ -21192,13 +21192,13 @@ models.forEach(function (fromModel) { module.exports = convert; -/***/ }), +/***/ }, -/***/ "./node_modules/color/node_modules/color-convert/route.js": +/***/ "./node_modules/color/node_modules/color-convert/route.js" /*!****************************************************************!*\ !*** ./node_modules/color/node_modules/color-convert/route.js ***! \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var conversions = __webpack_require__(/*! ./conversions */ "./node_modules/color/node_modules/color-convert/conversions.js"); @@ -21299,13 +21299,13 @@ module.exports = function (fromModel) { -/***/ }), +/***/ }, -/***/ "./node_modules/color/node_modules/color-name/index.js": +/***/ "./node_modules/color/node_modules/color-name/index.js" /*!*************************************************************!*\ !*** ./node_modules/color/node_modules/color-name/index.js ***! \*************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -21462,13 +21462,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/cose-base/cose-base.js": +/***/ "./node_modules/cose-base/cose-base.js" /*!*********************************************!*\ !*** ./node_modules/cose-base/cose-base.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { (function webpackUniversalModuleDefinition(root, factory) { if(true) @@ -24681,13 +24681,13 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__551__; ; }); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/core/Toolbar.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/core/Toolbar.css" /*!*******************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/core/Toolbar.css ***! \*******************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -24739,13 +24739,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `._dash-undo-redo { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css" /*!*************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css ***! \*************************************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -24808,13 +24808,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.dash-callback-dag--container { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css" /*!***********************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css ***! \***********************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25070,13 +25070,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.error-container { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css" /*!******************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css ***! \******************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25106,13 +25106,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.percy-show { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css" /*!***************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css ***! \***************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25391,13 +25391,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.dash-debug-menu { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/PlotlyCloud.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/PlotlyCloud.css" /*!*****************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/PlotlyCloud.css ***! \*****************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25503,13 +25503,13 @@ button.plotly-cloud-modal-button { /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/VersionInfo.css": +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/VersionInfo.css" /*!*****************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/VersionInfo.css ***! \*****************************************************************************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { +(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -25572,13 +25572,13 @@ ___CSS_LOADER_EXPORT___.push([module.id, `.dash-debug-menu__upgrade-tooltip butt /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/runtime/api.js": +/***/ "./node_modules/css-loader/dist/runtime/api.js" /*!*****************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/api.js ***! \*****************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -25667,13 +25667,13 @@ module.exports = function (cssWithMappingToString) { return list; }; -/***/ }), +/***/ }, -/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js": +/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js" /*!************************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***! \************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -25693,13 +25693,13 @@ module.exports = function (item) { return [content].join("\n"); }; -/***/ }), +/***/ }, -/***/ "./node_modules/cytoscape-dagre/cytoscape-dagre.js": +/***/ "./node_modules/cytoscape-dagre/cytoscape-dagre.js" /*!*********************************************************!*\ !*** ./node_modules/cytoscape-dagre/cytoscape-dagre.js ***! \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { (function webpackUniversalModuleDefinition(root, factory) { if(true) @@ -26095,13 +26095,13 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__4__; /******/ ]); }); -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/index.js": +/***/ "./node_modules/dagre/index.js" /*!*************************************!*\ !*** ./node_modules/dagre/index.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* Copyright (c) 2012-2014 Chris Pettitt @@ -26138,13 +26138,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/acyclic.js": +/***/ "./node_modules/dagre/lib/acyclic.js" /*!*******************************************!*\ !*** ./node_modules/dagre/lib/acyclic.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -26216,13 +26216,13 @@ function undo(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/add-border-segments.js": +/***/ "./node_modules/dagre/lib/add-border-segments.js" /*!*******************************************************!*\ !*** ./node_modules/dagre/lib/add-border-segments.js ***! \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); var util = __webpack_require__(/*! ./util */ "./node_modules/dagre/lib/util.js"); @@ -26264,13 +26264,13 @@ function addBorderNode(g, prop, prefix, sg, sgNode, rank) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/coordinate-system.js": +/***/ "./node_modules/dagre/lib/coordinate-system.js" /*!*****************************************************!*\ !*** ./node_modules/dagre/lib/coordinate-system.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -26347,13 +26347,13 @@ function swapXYOne(attrs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/data/list.js": +/***/ "./node_modules/dagre/lib/data/list.js" /*!*********************************************!*\ !*** ./node_modules/dagre/lib/data/list.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /* * Simple doubly linked list implementation derived from Cormen, et al., @@ -26413,13 +26413,13 @@ function filterOutLinks(k, v) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/debug.js": +/***/ "./node_modules/dagre/lib/debug.js" /*!*****************************************!*\ !*** ./node_modules/dagre/lib/debug.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); var util = __webpack_require__(/*! ./util */ "./node_modules/dagre/lib/util.js"); @@ -26457,13 +26457,13 @@ function debugOrdering(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/graphlib.js": +/***/ "./node_modules/dagre/lib/graphlib.js" /*!********************************************!*\ !*** ./node_modules/dagre/lib/graphlib.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* global window */ @@ -26484,13 +26484,13 @@ if (!graphlib) { module.exports = graphlib; -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/greedy-fas.js": +/***/ "./node_modules/dagre/lib/greedy-fas.js" /*!**********************************************!*\ !*** ./node_modules/dagre/lib/greedy-fas.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); var Graph = (__webpack_require__(/*! ./graphlib */ "./node_modules/dagre/lib/graphlib.js").Graph); @@ -26612,13 +26612,13 @@ function assignBucket(buckets, zeroIdx, entry) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/layout.js": +/***/ "./node_modules/dagre/lib/layout.js" /*!******************************************!*\ !*** ./node_modules/dagre/lib/layout.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27015,13 +27015,13 @@ function canonicalize(attrs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/lodash.js": +/***/ "./node_modules/dagre/lib/lodash.js" /*!******************************************!*\ !*** ./node_modules/dagre/lib/lodash.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* global window */ @@ -27069,13 +27069,13 @@ if (!lodash) { module.exports = lodash; -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/nesting-graph.js": +/***/ "./node_modules/dagre/lib/nesting-graph.js" /*!*************************************************!*\ !*** ./node_modules/dagre/lib/nesting-graph.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); var util = __webpack_require__(/*! ./util */ "./node_modules/dagre/lib/util.js"); @@ -27211,13 +27211,13 @@ function cleanup(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/normalize.js": +/***/ "./node_modules/dagre/lib/normalize.js" /*!*********************************************!*\ !*** ./node_modules/dagre/lib/normalize.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27312,13 +27312,13 @@ function undo(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/add-subgraph-constraints.js": +/***/ "./node_modules/dagre/lib/order/add-subgraph-constraints.js" /*!******************************************************************!*\ !*** ./node_modules/dagre/lib/order/add-subgraph-constraints.js ***! \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); @@ -27375,13 +27375,13 @@ function addSubgraphConstraints(g, cg, vs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/barycenter.js": +/***/ "./node_modules/dagre/lib/order/barycenter.js" /*!****************************************************!*\ !*** ./node_modules/dagre/lib/order/barycenter.js ***! \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); @@ -27413,13 +27413,13 @@ function barycenter(g, movable) { -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/build-layer-graph.js": +/***/ "./node_modules/dagre/lib/order/build-layer-graph.js" /*!***********************************************************!*\ !*** ./node_modules/dagre/lib/order/build-layer-graph.js ***! \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); var Graph = (__webpack_require__(/*! ../graphlib */ "./node_modules/dagre/lib/graphlib.js").Graph); @@ -27496,13 +27496,13 @@ function createRootNode(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/cross-count.js": +/***/ "./node_modules/dagre/lib/order/cross-count.js" /*!*****************************************************!*\ !*** ./node_modules/dagre/lib/order/cross-count.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27574,13 +27574,13 @@ function twoLayerCrossCount(g, northLayer, southLayer) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/index.js": +/***/ "./node_modules/dagre/lib/order/index.js" /*!***********************************************!*\ !*** ./node_modules/dagre/lib/order/index.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27664,13 +27664,13 @@ function assignOrder(g, layering) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/init-order.js": +/***/ "./node_modules/dagre/lib/order/init-order.js" /*!****************************************************!*\ !*** ./node_modules/dagre/lib/order/init-order.js ***! \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27713,13 +27713,13 @@ function initOrder(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/resolve-conflicts.js": +/***/ "./node_modules/dagre/lib/order/resolve-conflicts.js" /*!***********************************************************!*\ !*** ./node_modules/dagre/lib/order/resolve-conflicts.js ***! \***********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -27846,13 +27846,13 @@ function mergeEntries(target, source) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/sort-subgraph.js": +/***/ "./node_modules/dagre/lib/order/sort-subgraph.js" /*!*******************************************************!*\ !*** ./node_modules/dagre/lib/order/sort-subgraph.js ***! \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); var barycenter = __webpack_require__(/*! ./barycenter */ "./node_modules/dagre/lib/order/barycenter.js"); @@ -27932,13 +27932,13 @@ function mergeBarycenters(target, other) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/order/sort.js": +/***/ "./node_modules/dagre/lib/order/sort.js" /*!**********************************************!*\ !*** ./node_modules/dagre/lib/order/sort.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/dagre/lib/lodash.js"); var util = __webpack_require__(/*! ../util */ "./node_modules/dagre/lib/util.js"); @@ -27999,13 +27999,13 @@ function compareWithBias(bias) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/parent-dummy-chains.js": +/***/ "./node_modules/dagre/lib/parent-dummy-chains.js" /*!*******************************************************!*\ !*** ./node_modules/dagre/lib/parent-dummy-chains.js ***! \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/dagre/lib/lodash.js"); @@ -28095,13 +28095,13 @@ function postorder(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/position/bk.js": +/***/ "./node_modules/dagre/lib/position/bk.js" /*!***********************************************!*\ !*** ./node_modules/dagre/lib/position/bk.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28525,13 +28525,13 @@ function width(g, v) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/position/index.js": +/***/ "./node_modules/dagre/lib/position/index.js" /*!**************************************************!*\ !*** ./node_modules/dagre/lib/position/index.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28566,13 +28566,13 @@ function positionY(g) { -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/rank/feasible-tree.js": +/***/ "./node_modules/dagre/lib/rank/feasible-tree.js" /*!******************************************************!*\ !*** ./node_modules/dagre/lib/rank/feasible-tree.js ***! \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28666,13 +28666,13 @@ function shiftRanks(t, g, delta) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/rank/index.js": +/***/ "./node_modules/dagre/lib/rank/index.js" /*!**********************************************!*\ !*** ./node_modules/dagre/lib/rank/index.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28725,13 +28725,13 @@ function networkSimplexRanker(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/rank/network-simplex.js": +/***/ "./node_modules/dagre/lib/rank/network-simplex.js" /*!********************************************************!*\ !*** ./node_modules/dagre/lib/rank/network-simplex.js ***! \********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -28970,13 +28970,13 @@ function isDescendant(tree, vLabel, rootLabel) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/rank/util.js": +/***/ "./node_modules/dagre/lib/rank/util.js" /*!*********************************************!*\ !*** ./node_modules/dagre/lib/rank/util.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -29044,13 +29044,13 @@ function slack(g, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/util.js": +/***/ "./node_modules/dagre/lib/util.js" /*!****************************************!*\ !*** ./node_modules/dagre/lib/util.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; /* eslint "no-console": off */ @@ -29293,24 +29293,24 @@ function notime(name, fn) { } -/***/ }), +/***/ }, -/***/ "./node_modules/dagre/lib/version.js": +/***/ "./node_modules/dagre/lib/version.js" /*!*******************************************!*\ !*** ./node_modules/dagre/lib/version.js ***! \*******************************************/ -/***/ (function(module) { +(module) { module.exports = "0.8.5"; -/***/ }), +/***/ }, -/***/ "./node_modules/dependency-graph/lib/dep_graph.js": +/***/ "./node_modules/dependency-graph/lib/dep_graph.js" /*!********************************************************!*\ !*** ./node_modules/dependency-graph/lib/dep_graph.js ***! \********************************************************/ -/***/ (function(__unused_webpack_module, exports) { +(__unused_webpack_module, exports) { /** * A simple dependency graph @@ -29678,13 +29678,13 @@ DepGraphCycleError.prototype = Object.create(Error.prototype, { Object.setPrototypeOf(DepGraphCycleError, Error); -/***/ }), +/***/ }, -/***/ "./node_modules/fast-isnumeric/index.js": +/***/ "./node_modules/fast-isnumeric/index.js" /*!**********************************************!*\ !*** ./node_modules/fast-isnumeric/index.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; /** @@ -29713,13 +29713,13 @@ module.exports = function(n) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/index.js": +/***/ "./node_modules/graphlib/index.js" /*!****************************************!*\ !*** ./node_modules/graphlib/index.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /** * Copyright (c) 2014, Chris Pettitt @@ -29761,13 +29761,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/components.js": +/***/ "./node_modules/graphlib/lib/alg/components.js" /*!*****************************************************!*\ !*** ./node_modules/graphlib/lib/alg/components.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -29798,13 +29798,13 @@ function components(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/dfs.js": +/***/ "./node_modules/graphlib/lib/alg/dfs.js" /*!**********************************************!*\ !*** ./node_modules/graphlib/lib/alg/dfs.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -29850,13 +29850,13 @@ function doDfs(g, v, postorder, visited, navigation, acc) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/dijkstra-all.js": +/***/ "./node_modules/graphlib/lib/alg/dijkstra-all.js" /*!*******************************************************!*\ !*** ./node_modules/graphlib/lib/alg/dijkstra-all.js ***! \*******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var dijkstra = __webpack_require__(/*! ./dijkstra */ "./node_modules/graphlib/lib/alg/dijkstra.js"); var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -29870,13 +29870,13 @@ function dijkstraAll(g, weightFunc, edgeFunc) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/dijkstra.js": +/***/ "./node_modules/graphlib/lib/alg/dijkstra.js" /*!***************************************************!*\ !*** ./node_modules/graphlib/lib/alg/dijkstra.js ***! \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); var PriorityQueue = __webpack_require__(/*! ../data/priority-queue */ "./node_modules/graphlib/lib/data/priority-queue.js"); @@ -29934,13 +29934,13 @@ function runDijkstra(g, source, weightFn, edgeFn) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/find-cycles.js": +/***/ "./node_modules/graphlib/lib/alg/find-cycles.js" /*!******************************************************!*\ !*** ./node_modules/graphlib/lib/alg/find-cycles.js ***! \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); var tarjan = __webpack_require__(/*! ./tarjan */ "./node_modules/graphlib/lib/alg/tarjan.js"); @@ -29954,13 +29954,13 @@ function findCycles(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/floyd-warshall.js": +/***/ "./node_modules/graphlib/lib/alg/floyd-warshall.js" /*!*********************************************************!*\ !*** ./node_modules/graphlib/lib/alg/floyd-warshall.js ***! \*********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -30014,13 +30014,13 @@ function runFloydWarshall(g, weightFn, edgeFn) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/index.js": +/***/ "./node_modules/graphlib/lib/alg/index.js" /*!************************************************!*\ !*** ./node_modules/graphlib/lib/alg/index.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { module.exports = { components: __webpack_require__(/*! ./components */ "./node_modules/graphlib/lib/alg/components.js"), @@ -30037,13 +30037,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/is-acyclic.js": +/***/ "./node_modules/graphlib/lib/alg/is-acyclic.js" /*!*****************************************************!*\ !*** ./node_modules/graphlib/lib/alg/is-acyclic.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var topsort = __webpack_require__(/*! ./topsort */ "./node_modules/graphlib/lib/alg/topsort.js"); @@ -30062,13 +30062,13 @@ function isAcyclic(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/postorder.js": +/***/ "./node_modules/graphlib/lib/alg/postorder.js" /*!****************************************************!*\ !*** ./node_modules/graphlib/lib/alg/postorder.js ***! \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var dfs = __webpack_require__(/*! ./dfs */ "./node_modules/graphlib/lib/alg/dfs.js"); @@ -30079,13 +30079,13 @@ function postorder(g, vs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/preorder.js": +/***/ "./node_modules/graphlib/lib/alg/preorder.js" /*!***************************************************!*\ !*** ./node_modules/graphlib/lib/alg/preorder.js ***! \***************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var dfs = __webpack_require__(/*! ./dfs */ "./node_modules/graphlib/lib/alg/dfs.js"); @@ -30096,13 +30096,13 @@ function preorder(g, vs) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/prim.js": +/***/ "./node_modules/graphlib/lib/alg/prim.js" /*!***********************************************!*\ !*** ./node_modules/graphlib/lib/alg/prim.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); var Graph = __webpack_require__(/*! ../graph */ "./node_modules/graphlib/lib/graph.js"); @@ -30158,13 +30158,13 @@ function prim(g, weightFunc) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/tarjan.js": +/***/ "./node_modules/graphlib/lib/alg/tarjan.js" /*!*************************************************!*\ !*** ./node_modules/graphlib/lib/alg/tarjan.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -30215,13 +30215,13 @@ function tarjan(g) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/alg/topsort.js": +/***/ "./node_modules/graphlib/lib/alg/topsort.js" /*!**************************************************!*\ !*** ./node_modules/graphlib/lib/alg/topsort.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -30259,13 +30259,13 @@ function topsort(g) { function CycleException() {} CycleException.prototype = new Error(); // must be an instance of Error to pass testing -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/data/priority-queue.js": +/***/ "./node_modules/graphlib/lib/data/priority-queue.js" /*!**********************************************************!*\ !*** ./node_modules/graphlib/lib/data/priority-queue.js ***! \**********************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ../lodash */ "./node_modules/graphlib/lib/lodash.js"); @@ -30421,13 +30421,13 @@ PriorityQueue.prototype._swap = function(i, j) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/graph.js": +/***/ "./node_modules/graphlib/lib/graph.js" /*!********************************************!*\ !*** ./node_modules/graphlib/lib/graph.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -30964,13 +30964,13 @@ function edgeObjToId(isDirected, edgeObj) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/index.js": +/***/ "./node_modules/graphlib/lib/index.js" /*!********************************************!*\ !*** ./node_modules/graphlib/lib/index.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { // Includes only the "core" of graphlib module.exports = { @@ -30979,13 +30979,13 @@ module.exports = { }; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/json.js": +/***/ "./node_modules/graphlib/lib/json.js" /*!*******************************************!*\ !*** ./node_modules/graphlib/lib/json.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var _ = __webpack_require__(/*! ./lodash */ "./node_modules/graphlib/lib/lodash.js"); var Graph = __webpack_require__(/*! ./graph */ "./node_modules/graphlib/lib/graph.js"); @@ -31055,13 +31055,13 @@ function read(json) { } -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/lodash.js": +/***/ "./node_modules/graphlib/lib/lodash.js" /*!*********************************************!*\ !*** ./node_modules/graphlib/lib/lodash.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /* global window */ @@ -31099,24 +31099,24 @@ if (!lodash) { module.exports = lodash; -/***/ }), +/***/ }, -/***/ "./node_modules/graphlib/lib/version.js": +/***/ "./node_modules/graphlib/lib/version.js" /*!**********************************************!*\ !*** ./node_modules/graphlib/lib/version.js ***! \**********************************************/ -/***/ (function(module) { +(module) { module.exports = '2.1.8'; -/***/ }), +/***/ }, -/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js": +/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js" /*!**********************************************************************************!*\ !*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***! \**********************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -31224,13 +31224,13 @@ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { module.exports = hoistNonReactStatics; -/***/ }), +/***/ }, -/***/ "./node_modules/invariant/browser.js": +/***/ "./node_modules/invariant/browser.js" /*!*******************************************!*\ !*** ./node_modules/invariant/browser.js ***! \*******************************************/ -/***/ (function(module) { +(module) { "use strict"; /** @@ -31284,13 +31284,13 @@ var invariant = function(condition, format, a, b, c, d, e, f) { module.exports = invariant; -/***/ }), +/***/ }, -/***/ "./node_modules/is-string-blank/index.js": +/***/ "./node_modules/is-string-blank/index.js" /*!***********************************************!*\ !*** ./node_modules/is-string-blank/index.js ***! \***********************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -31330,13 +31330,13 @@ module.exports = function(str){ } -/***/ }), +/***/ }, -/***/ "./node_modules/layout-base/layout-base.js": +/***/ "./node_modules/layout-base/layout-base.js" /*!*************************************************!*\ !*** ./node_modules/layout-base/layout-base.js ***! \*************************************************/ -/***/ (function(module) { +(module) { (function webpackUniversalModuleDefinition(root, factory) { if(true) @@ -36565,13 +36565,13 @@ module.exports = Emitter; /******/ ]); }); -/***/ }), +/***/ }, -/***/ "./node_modules/lodash.curry/index.js": +/***/ "./node_modules/lodash.curry/index.js" /*!********************************************!*\ !*** ./node_modules/lodash.curry/index.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /** * lodash (Custom Build) @@ -37804,13 +37804,13 @@ curry.placeholder = {}; module.exports = curry; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_DataView.js": +/***/ "./node_modules/lodash/_DataView.js" /*!******************************************!*\ !*** ./node_modules/lodash/_DataView.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -37821,13 +37821,13 @@ var DataView = getNative(root, 'DataView'); module.exports = DataView; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Hash.js": +/***/ "./node_modules/lodash/_Hash.js" /*!**************************************!*\ !*** ./node_modules/lodash/_Hash.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var hashClear = __webpack_require__(/*! ./_hashClear */ "./node_modules/lodash/_hashClear.js"), hashDelete = __webpack_require__(/*! ./_hashDelete */ "./node_modules/lodash/_hashDelete.js"), @@ -37863,13 +37863,13 @@ Hash.prototype.set = hashSet; module.exports = Hash; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_ListCache.js": +/***/ "./node_modules/lodash/_ListCache.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_ListCache.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var listCacheClear = __webpack_require__(/*! ./_listCacheClear */ "./node_modules/lodash/_listCacheClear.js"), listCacheDelete = __webpack_require__(/*! ./_listCacheDelete */ "./node_modules/lodash/_listCacheDelete.js"), @@ -37905,13 +37905,13 @@ ListCache.prototype.set = listCacheSet; module.exports = ListCache; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Map.js": +/***/ "./node_modules/lodash/_Map.js" /*!*************************************!*\ !*** ./node_modules/lodash/_Map.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -37922,13 +37922,13 @@ var Map = getNative(root, 'Map'); module.exports = Map; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_MapCache.js": +/***/ "./node_modules/lodash/_MapCache.js" /*!******************************************!*\ !*** ./node_modules/lodash/_MapCache.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var mapCacheClear = __webpack_require__(/*! ./_mapCacheClear */ "./node_modules/lodash/_mapCacheClear.js"), mapCacheDelete = __webpack_require__(/*! ./_mapCacheDelete */ "./node_modules/lodash/_mapCacheDelete.js"), @@ -37964,13 +37964,13 @@ MapCache.prototype.set = mapCacheSet; module.exports = MapCache; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Promise.js": +/***/ "./node_modules/lodash/_Promise.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_Promise.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -37981,13 +37981,13 @@ var Promise = getNative(root, 'Promise'); module.exports = Promise; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Set.js": +/***/ "./node_modules/lodash/_Set.js" /*!*************************************!*\ !*** ./node_modules/lodash/_Set.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -37998,13 +37998,13 @@ var Set = getNative(root, 'Set'); module.exports = Set; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_SetCache.js": +/***/ "./node_modules/lodash/_SetCache.js" /*!******************************************!*\ !*** ./node_modules/lodash/_SetCache.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js"), setCacheAdd = __webpack_require__(/*! ./_setCacheAdd */ "./node_modules/lodash/_setCacheAdd.js"), @@ -38035,13 +38035,13 @@ SetCache.prototype.has = setCacheHas; module.exports = SetCache; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Stack.js": +/***/ "./node_modules/lodash/_Stack.js" /*!***************************************!*\ !*** ./node_modules/lodash/_Stack.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"), stackClear = __webpack_require__(/*! ./_stackClear */ "./node_modules/lodash/_stackClear.js"), @@ -38072,13 +38072,13 @@ Stack.prototype.set = stackSet; module.exports = Stack; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Symbol.js": +/***/ "./node_modules/lodash/_Symbol.js" /*!****************************************!*\ !*** ./node_modules/lodash/_Symbol.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -38088,13 +38088,13 @@ var Symbol = root.Symbol; module.exports = Symbol; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_Uint8Array.js": +/***/ "./node_modules/lodash/_Uint8Array.js" /*!********************************************!*\ !*** ./node_modules/lodash/_Uint8Array.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -38104,13 +38104,13 @@ var Uint8Array = root.Uint8Array; module.exports = Uint8Array; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_WeakMap.js": +/***/ "./node_modules/lodash/_WeakMap.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_WeakMap.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"), root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -38121,13 +38121,13 @@ var WeakMap = getNative(root, 'WeakMap'); module.exports = WeakMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_apply.js": +/***/ "./node_modules/lodash/_apply.js" /*!***************************************!*\ !*** ./node_modules/lodash/_apply.js ***! \***************************************/ -/***/ (function(module) { +(module) { /** * A faster alternative to `Function#apply`, this function invokes `func` @@ -38152,13 +38152,13 @@ function apply(func, thisArg, args) { module.exports = apply; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayEach.js": +/***/ "./node_modules/lodash/_arrayEach.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_arrayEach.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.forEach` for arrays without support for @@ -38184,13 +38184,13 @@ function arrayEach(array, iteratee) { module.exports = arrayEach; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayFilter.js": +/***/ "./node_modules/lodash/_arrayFilter.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_arrayFilter.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.filter` for arrays without support for @@ -38219,13 +38219,13 @@ function arrayFilter(array, predicate) { module.exports = arrayFilter; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayIncludes.js": +/***/ "./node_modules/lodash/_arrayIncludes.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_arrayIncludes.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIndexOf = __webpack_require__(/*! ./_baseIndexOf */ "./node_modules/lodash/_baseIndexOf.js"); @@ -38246,13 +38246,13 @@ function arrayIncludes(array, value) { module.exports = arrayIncludes; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayIncludesWith.js": +/***/ "./node_modules/lodash/_arrayIncludesWith.js" /*!***************************************************!*\ !*** ./node_modules/lodash/_arrayIncludesWith.js ***! \***************************************************/ -/***/ (function(module) { +(module) { /** * This function is like `arrayIncludes` except that it accepts a comparator. @@ -38278,13 +38278,13 @@ function arrayIncludesWith(array, value, comparator) { module.exports = arrayIncludesWith; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayLikeKeys.js": +/***/ "./node_modules/lodash/_arrayLikeKeys.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_arrayLikeKeys.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseTimes = __webpack_require__(/*! ./_baseTimes */ "./node_modules/lodash/_baseTimes.js"), isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"), @@ -38337,13 +38337,13 @@ function arrayLikeKeys(value, inherited) { module.exports = arrayLikeKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayMap.js": +/***/ "./node_modules/lodash/_arrayMap.js" /*!******************************************!*\ !*** ./node_modules/lodash/_arrayMap.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.map` for arrays without support for iteratee @@ -38368,13 +38368,13 @@ function arrayMap(array, iteratee) { module.exports = arrayMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayPush.js": +/***/ "./node_modules/lodash/_arrayPush.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_arrayPush.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * Appends the elements of `values` to `array`. @@ -38398,13 +38398,13 @@ function arrayPush(array, values) { module.exports = arrayPush; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arrayReduce.js": +/***/ "./node_modules/lodash/_arrayReduce.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_arrayReduce.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.reduce` for arrays without support for @@ -38434,13 +38434,13 @@ function arrayReduce(array, iteratee, accumulator, initAccum) { module.exports = arrayReduce; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_arraySome.js": +/***/ "./node_modules/lodash/_arraySome.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_arraySome.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.some` for arrays without support for iteratee @@ -38467,13 +38467,13 @@ function arraySome(array, predicate) { module.exports = arraySome; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_asciiSize.js": +/***/ "./node_modules/lodash/_asciiSize.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_asciiSize.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseProperty = __webpack_require__(/*! ./_baseProperty */ "./node_modules/lodash/_baseProperty.js"); @@ -38489,13 +38489,13 @@ var asciiSize = baseProperty('length'); module.exports = asciiSize; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_assignMergeValue.js": +/***/ "./node_modules/lodash/_assignMergeValue.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_assignMergeValue.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"), eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"); @@ -38519,13 +38519,13 @@ function assignMergeValue(object, key, value) { module.exports = assignMergeValue; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_assignValue.js": +/***/ "./node_modules/lodash/_assignValue.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_assignValue.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"), eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"); @@ -38557,13 +38557,13 @@ function assignValue(object, key, value) { module.exports = assignValue; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_assocIndexOf.js": +/***/ "./node_modules/lodash/_assocIndexOf.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_assocIndexOf.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"); @@ -38588,13 +38588,13 @@ function assocIndexOf(array, key) { module.exports = assocIndexOf; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseAssign.js": +/***/ "./node_modules/lodash/_baseAssign.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseAssign.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); @@ -38615,13 +38615,13 @@ function baseAssign(object, source) { module.exports = baseAssign; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseAssignIn.js": +/***/ "./node_modules/lodash/_baseAssignIn.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseAssignIn.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js"); @@ -38642,13 +38642,13 @@ function baseAssignIn(object, source) { module.exports = baseAssignIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseAssignValue.js": +/***/ "./node_modules/lodash/_baseAssignValue.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_baseAssignValue.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js"); @@ -38677,13 +38677,13 @@ function baseAssignValue(object, key, value) { module.exports = baseAssignValue; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseClone.js": +/***/ "./node_modules/lodash/_baseClone.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseClone.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"), @@ -38853,13 +38853,13 @@ function baseClone(value, bitmask, customizer, key, object, stack) { module.exports = baseClone; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseCreate.js": +/***/ "./node_modules/lodash/_baseCreate.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseCreate.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); @@ -38893,13 +38893,13 @@ var baseCreate = (function() { module.exports = baseCreate; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseEach.js": +/***/ "./node_modules/lodash/_baseEach.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseEach.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseForOwn = __webpack_require__(/*! ./_baseForOwn */ "./node_modules/lodash/_baseForOwn.js"), createBaseEach = __webpack_require__(/*! ./_createBaseEach */ "./node_modules/lodash/_createBaseEach.js"); @@ -38917,13 +38917,13 @@ var baseEach = createBaseEach(baseForOwn); module.exports = baseEach; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseExtremum.js": +/***/ "./node_modules/lodash/_baseExtremum.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseExtremum.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); @@ -38959,13 +38959,13 @@ function baseExtremum(array, iteratee, comparator) { module.exports = baseExtremum; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseFilter.js": +/***/ "./node_modules/lodash/_baseFilter.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseFilter.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"); @@ -38990,13 +38990,13 @@ function baseFilter(collection, predicate) { module.exports = baseFilter; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseFindIndex.js": +/***/ "./node_modules/lodash/_baseFindIndex.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_baseFindIndex.js ***! \***********************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.findIndex` and `_.findLastIndex` without @@ -39024,13 +39024,13 @@ function baseFindIndex(array, predicate, fromIndex, fromRight) { module.exports = baseFindIndex; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseFlatten.js": +/***/ "./node_modules/lodash/_baseFlatten.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseFlatten.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"), isFlattenable = __webpack_require__(/*! ./_isFlattenable */ "./node_modules/lodash/_isFlattenable.js"); @@ -39072,13 +39072,13 @@ function baseFlatten(array, depth, predicate, isStrict, result) { module.exports = baseFlatten; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseFor.js": +/***/ "./node_modules/lodash/_baseFor.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseFor.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var createBaseFor = __webpack_require__(/*! ./_createBaseFor */ "./node_modules/lodash/_createBaseFor.js"); @@ -39098,13 +39098,13 @@ var baseFor = createBaseFor(); module.exports = baseFor; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseForOwn.js": +/***/ "./node_modules/lodash/_baseForOwn.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseForOwn.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFor = __webpack_require__(/*! ./_baseFor */ "./node_modules/lodash/_baseFor.js"), keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); @@ -39124,13 +39124,13 @@ function baseForOwn(object, iteratee) { module.exports = baseForOwn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseGet.js": +/***/ "./node_modules/lodash/_baseGet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseGet.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"), toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js"); @@ -39158,13 +39158,13 @@ function baseGet(object, path) { module.exports = baseGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseGetAllKeys.js": +/***/ "./node_modules/lodash/_baseGetAllKeys.js" /*!************************************************!*\ !*** ./node_modules/lodash/_baseGetAllKeys.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"), isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"); @@ -39188,13 +39188,13 @@ function baseGetAllKeys(object, keysFunc, symbolsFunc) { module.exports = baseGetAllKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseGetTag.js": +/***/ "./node_modules/lodash/_baseGetTag.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseGetTag.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"), @@ -39226,13 +39226,13 @@ function baseGetTag(value) { module.exports = baseGetTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseGt.js": +/***/ "./node_modules/lodash/_baseGt.js" /*!****************************************!*\ !*** ./node_modules/lodash/_baseGt.js ***! \****************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.gt` which doesn't coerce arguments. @@ -39250,13 +39250,13 @@ function baseGt(value, other) { module.exports = baseGt; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseHas.js": +/***/ "./node_modules/lodash/_baseHas.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseHas.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -39279,13 +39279,13 @@ function baseHas(object, key) { module.exports = baseHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseHasIn.js": +/***/ "./node_modules/lodash/_baseHasIn.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseHasIn.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.hasIn` without support for deep paths. @@ -39302,13 +39302,13 @@ function baseHasIn(object, key) { module.exports = baseHasIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIndexOf.js": +/***/ "./node_modules/lodash/_baseIndexOf.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseIndexOf.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFindIndex = __webpack_require__(/*! ./_baseFindIndex */ "./node_modules/lodash/_baseFindIndex.js"), baseIsNaN = __webpack_require__(/*! ./_baseIsNaN */ "./node_modules/lodash/_baseIsNaN.js"), @@ -39332,13 +39332,13 @@ function baseIndexOf(array, value, fromIndex) { module.exports = baseIndexOf; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsArguments.js": +/***/ "./node_modules/lodash/_baseIsArguments.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_baseIsArguments.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -39360,13 +39360,13 @@ function baseIsArguments(value) { module.exports = baseIsArguments; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsEqual.js": +/***/ "./node_modules/lodash/_baseIsEqual.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseIsEqual.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsEqualDeep = __webpack_require__(/*! ./_baseIsEqualDeep */ "./node_modules/lodash/_baseIsEqualDeep.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -39398,13 +39398,13 @@ function baseIsEqual(value, other, bitmask, customizer, stack) { module.exports = baseIsEqual; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsEqualDeep.js": +/***/ "./node_modules/lodash/_baseIsEqualDeep.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_baseIsEqualDeep.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), equalArrays = __webpack_require__(/*! ./_equalArrays */ "./node_modules/lodash/_equalArrays.js"), @@ -39491,13 +39491,13 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { module.exports = baseIsEqualDeep; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsMap.js": +/***/ "./node_modules/lodash/_baseIsMap.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseIsMap.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -39519,13 +39519,13 @@ function baseIsMap(value) { module.exports = baseIsMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsMatch.js": +/***/ "./node_modules/lodash/_baseIsMatch.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseIsMatch.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "./node_modules/lodash/_baseIsEqual.js"); @@ -39591,13 +39591,13 @@ function baseIsMatch(object, source, matchData, customizer) { module.exports = baseIsMatch; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsNaN.js": +/***/ "./node_modules/lodash/_baseIsNaN.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseIsNaN.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.isNaN` without support for number objects. @@ -39613,13 +39613,13 @@ function baseIsNaN(value) { module.exports = baseIsNaN; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsNative.js": +/***/ "./node_modules/lodash/_baseIsNative.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseIsNative.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"), isMasked = __webpack_require__(/*! ./_isMasked */ "./node_modules/lodash/_isMasked.js"), @@ -39670,13 +39670,13 @@ function baseIsNative(value) { module.exports = baseIsNative; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsSet.js": +/***/ "./node_modules/lodash/_baseIsSet.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseIsSet.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -39698,13 +39698,13 @@ function baseIsSet(value) { module.exports = baseIsSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIsTypedArray.js": +/***/ "./node_modules/lodash/_baseIsTypedArray.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_baseIsTypedArray.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"), @@ -39768,13 +39768,13 @@ function baseIsTypedArray(value) { module.exports = baseIsTypedArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseIteratee.js": +/***/ "./node_modules/lodash/_baseIteratee.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseIteratee.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseMatches = __webpack_require__(/*! ./_baseMatches */ "./node_modules/lodash/_baseMatches.js"), baseMatchesProperty = __webpack_require__(/*! ./_baseMatchesProperty */ "./node_modules/lodash/_baseMatchesProperty.js"), @@ -39809,13 +39809,13 @@ function baseIteratee(value) { module.exports = baseIteratee; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseKeys.js": +/***/ "./node_modules/lodash/_baseKeys.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseKeys.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"), nativeKeys = __webpack_require__(/*! ./_nativeKeys */ "./node_modules/lodash/_nativeKeys.js"); @@ -39849,13 +39849,13 @@ function baseKeys(object) { module.exports = baseKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseKeysIn.js": +/***/ "./node_modules/lodash/_baseKeysIn.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseKeysIn.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"), @@ -39892,13 +39892,13 @@ function baseKeysIn(object) { module.exports = baseKeysIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseLt.js": +/***/ "./node_modules/lodash/_baseLt.js" /*!****************************************!*\ !*** ./node_modules/lodash/_baseLt.js ***! \****************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.lt` which doesn't coerce arguments. @@ -39916,13 +39916,13 @@ function baseLt(value, other) { module.exports = baseLt; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMap.js": +/***/ "./node_modules/lodash/_baseMap.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseMap.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"), isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"); @@ -39948,13 +39948,13 @@ function baseMap(collection, iteratee) { module.exports = baseMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMatches.js": +/***/ "./node_modules/lodash/_baseMatches.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseMatches.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsMatch = __webpack_require__(/*! ./_baseIsMatch */ "./node_modules/lodash/_baseIsMatch.js"), getMatchData = __webpack_require__(/*! ./_getMatchData */ "./node_modules/lodash/_getMatchData.js"), @@ -39980,13 +39980,13 @@ function baseMatches(source) { module.exports = baseMatches; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMatchesProperty.js": +/***/ "./node_modules/lodash/_baseMatchesProperty.js" /*!*****************************************************!*\ !*** ./node_modules/lodash/_baseMatchesProperty.js ***! \*****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "./node_modules/lodash/_baseIsEqual.js"), get = __webpack_require__(/*! ./get */ "./node_modules/lodash/get.js"), @@ -40023,13 +40023,13 @@ function baseMatchesProperty(path, srcValue) { module.exports = baseMatchesProperty; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMerge.js": +/***/ "./node_modules/lodash/_baseMerge.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseMerge.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"), assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ "./node_modules/lodash/_assignMergeValue.js"), @@ -40075,13 +40075,13 @@ function baseMerge(object, source, srcIndex, customizer, stack) { module.exports = baseMerge; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseMergeDeep.js": +/***/ "./node_modules/lodash/_baseMergeDeep.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_baseMergeDeep.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assignMergeValue = __webpack_require__(/*! ./_assignMergeValue */ "./node_modules/lodash/_assignMergeValue.js"), cloneBuffer = __webpack_require__(/*! ./_cloneBuffer */ "./node_modules/lodash/_cloneBuffer.js"), @@ -40179,13 +40179,13 @@ function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, sta module.exports = baseMergeDeep; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseOrderBy.js": +/***/ "./node_modules/lodash/_baseOrderBy.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_baseOrderBy.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"), @@ -40238,13 +40238,13 @@ function baseOrderBy(collection, iteratees, orders) { module.exports = baseOrderBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_basePick.js": +/***/ "./node_modules/lodash/_basePick.js" /*!******************************************!*\ !*** ./node_modules/lodash/_basePick.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var basePickBy = __webpack_require__(/*! ./_basePickBy */ "./node_modules/lodash/_basePickBy.js"), hasIn = __webpack_require__(/*! ./hasIn */ "./node_modules/lodash/hasIn.js"); @@ -40267,13 +40267,13 @@ function basePick(object, paths) { module.exports = basePick; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_basePickBy.js": +/***/ "./node_modules/lodash/_basePickBy.js" /*!********************************************!*\ !*** ./node_modules/lodash/_basePickBy.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"), baseSet = __webpack_require__(/*! ./_baseSet */ "./node_modules/lodash/_baseSet.js"), @@ -40307,13 +40307,13 @@ function basePickBy(object, paths, predicate) { module.exports = basePickBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseProperty.js": +/***/ "./node_modules/lodash/_baseProperty.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseProperty.js ***! \**********************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.property` without support for deep paths. @@ -40331,13 +40331,13 @@ function baseProperty(key) { module.exports = baseProperty; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_basePropertyDeep.js": +/***/ "./node_modules/lodash/_basePropertyDeep.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_basePropertyDeep.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"); @@ -40357,13 +40357,13 @@ function basePropertyDeep(path) { module.exports = basePropertyDeep; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseRange.js": +/***/ "./node_modules/lodash/_baseRange.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseRange.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /* Built-in method references for those with the same name as other `lodash` methods. */ var nativeCeil = Math.ceil, @@ -40395,13 +40395,13 @@ function baseRange(start, end, step, fromRight) { module.exports = baseRange; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseReduce.js": +/***/ "./node_modules/lodash/_baseReduce.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseReduce.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.reduce` and `_.reduceRight`, without support @@ -40428,13 +40428,13 @@ function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { module.exports = baseReduce; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseRest.js": +/***/ "./node_modules/lodash/_baseRest.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseRest.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"), overRest = __webpack_require__(/*! ./_overRest */ "./node_modules/lodash/_overRest.js"), @@ -40455,13 +40455,13 @@ function baseRest(func, start) { module.exports = baseRest; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseSet.js": +/***/ "./node_modules/lodash/_baseSet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_baseSet.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"), castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"), @@ -40516,13 +40516,13 @@ function baseSet(object, path, value, customizer) { module.exports = baseSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseSetToString.js": +/***/ "./node_modules/lodash/_baseSetToString.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_baseSetToString.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var constant = __webpack_require__(/*! ./constant */ "./node_modules/lodash/constant.js"), defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js"), @@ -40548,13 +40548,13 @@ var baseSetToString = !defineProperty ? identity : function(func, string) { module.exports = baseSetToString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseSortBy.js": +/***/ "./node_modules/lodash/_baseSortBy.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseSortBy.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.sortBy` which uses `comparer` to define the @@ -40579,13 +40579,13 @@ function baseSortBy(array, comparer) { module.exports = baseSortBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseTimes.js": +/***/ "./node_modules/lodash/_baseTimes.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseTimes.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.times` without support for iteratee shorthands @@ -40609,13 +40609,13 @@ function baseTimes(n, iteratee) { module.exports = baseTimes; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseToString.js": +/***/ "./node_modules/lodash/_baseToString.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_baseToString.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), @@ -40656,13 +40656,13 @@ function baseToString(value) { module.exports = baseToString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseTrim.js": +/***/ "./node_modules/lodash/_baseTrim.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseTrim.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var trimmedEndIndex = __webpack_require__(/*! ./_trimmedEndIndex */ "./node_modules/lodash/_trimmedEndIndex.js"); @@ -40685,13 +40685,13 @@ function baseTrim(string) { module.exports = baseTrim; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseUnary.js": +/***/ "./node_modules/lodash/_baseUnary.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_baseUnary.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * The base implementation of `_.unary` without support for storing metadata. @@ -40709,13 +40709,13 @@ function baseUnary(func) { module.exports = baseUnary; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseUniq.js": +/***/ "./node_modules/lodash/_baseUniq.js" /*!******************************************!*\ !*** ./node_modules/lodash/_baseUniq.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var SetCache = __webpack_require__(/*! ./_SetCache */ "./node_modules/lodash/_SetCache.js"), arrayIncludes = __webpack_require__(/*! ./_arrayIncludes */ "./node_modules/lodash/_arrayIncludes.js"), @@ -40791,13 +40791,13 @@ function baseUniq(array, iteratee, comparator) { module.exports = baseUniq; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseValues.js": +/***/ "./node_modules/lodash/_baseValues.js" /*!********************************************!*\ !*** ./node_modules/lodash/_baseValues.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"); @@ -40820,13 +40820,13 @@ function baseValues(object, props) { module.exports = baseValues; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_baseZipObject.js": +/***/ "./node_modules/lodash/_baseZipObject.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_baseZipObject.js ***! \***********************************************/ -/***/ (function(module) { +(module) { /** * This base implementation of `_.zipObject` which assigns values using `assignFunc`. @@ -40853,13 +40853,13 @@ function baseZipObject(props, values, assignFunc) { module.exports = baseZipObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cacheHas.js": +/***/ "./node_modules/lodash/_cacheHas.js" /*!******************************************!*\ !*** ./node_modules/lodash/_cacheHas.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * Checks if a `cache` value for `key` exists. @@ -40876,13 +40876,13 @@ function cacheHas(cache, key) { module.exports = cacheHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_castFunction.js": +/***/ "./node_modules/lodash/_castFunction.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_castFunction.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"); @@ -40900,13 +40900,13 @@ function castFunction(value) { module.exports = castFunction; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_castPath.js": +/***/ "./node_modules/lodash/_castPath.js" /*!******************************************!*\ !*** ./node_modules/lodash/_castPath.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), isKey = __webpack_require__(/*! ./_isKey */ "./node_modules/lodash/_isKey.js"), @@ -40931,13 +40931,13 @@ function castPath(value, object) { module.exports = castPath; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneArrayBuffer.js": +/***/ "./node_modules/lodash/_cloneArrayBuffer.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_cloneArrayBuffer.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js"); @@ -40957,13 +40957,13 @@ function cloneArrayBuffer(arrayBuffer) { module.exports = cloneArrayBuffer; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneBuffer.js": +/***/ "./node_modules/lodash/_cloneBuffer.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_cloneBuffer.js ***! \*********************************************/ -/***/ (function(module, exports, __webpack_require__) { +(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -41003,13 +41003,13 @@ function cloneBuffer(buffer, isDeep) { module.exports = cloneBuffer; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneDataView.js": +/***/ "./node_modules/lodash/_cloneDataView.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_cloneDataView.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"); @@ -41029,13 +41029,13 @@ function cloneDataView(dataView, isDeep) { module.exports = cloneDataView; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneRegExp.js": +/***/ "./node_modules/lodash/_cloneRegExp.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_cloneRegExp.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** Used to match `RegExp` flags from their coerced string values. */ var reFlags = /\w*$/; @@ -41056,13 +41056,13 @@ function cloneRegExp(regexp) { module.exports = cloneRegExp; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneSymbol.js": +/***/ "./node_modules/lodash/_cloneSymbol.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_cloneSymbol.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"); @@ -41084,13 +41084,13 @@ function cloneSymbol(symbol) { module.exports = cloneSymbol; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_cloneTypedArray.js": +/***/ "./node_modules/lodash/_cloneTypedArray.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_cloneTypedArray.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"); @@ -41110,13 +41110,13 @@ function cloneTypedArray(typedArray, isDeep) { module.exports = cloneTypedArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_compareAscending.js": +/***/ "./node_modules/lodash/_compareAscending.js" /*!**************************************************!*\ !*** ./node_modules/lodash/_compareAscending.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); @@ -41161,13 +41161,13 @@ function compareAscending(value, other) { module.exports = compareAscending; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_compareMultiple.js": +/***/ "./node_modules/lodash/_compareMultiple.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_compareMultiple.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var compareAscending = __webpack_require__(/*! ./_compareAscending */ "./node_modules/lodash/_compareAscending.js"); @@ -41215,13 +41215,13 @@ function compareMultiple(object, other, orders) { module.exports = compareMultiple; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_copyArray.js": +/***/ "./node_modules/lodash/_copyArray.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_copyArray.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * Copies the values of `source` to `array`. @@ -41245,13 +41245,13 @@ function copyArray(source, array) { module.exports = copyArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_copyObject.js": +/***/ "./node_modules/lodash/_copyObject.js" /*!********************************************!*\ !*** ./node_modules/lodash/_copyObject.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"), baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"); @@ -41295,13 +41295,13 @@ function copyObject(source, props, object, customizer) { module.exports = copyObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_copySymbols.js": +/***/ "./node_modules/lodash/_copySymbols.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_copySymbols.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"); @@ -41321,13 +41321,13 @@ function copySymbols(source, object) { module.exports = copySymbols; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_copySymbolsIn.js": +/***/ "./node_modules/lodash/_copySymbolsIn.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_copySymbolsIn.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ "./node_modules/lodash/_getSymbolsIn.js"); @@ -41347,13 +41347,13 @@ function copySymbolsIn(source, object) { module.exports = copySymbolsIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_coreJsData.js": +/***/ "./node_modules/lodash/_coreJsData.js" /*!********************************************!*\ !*** ./node_modules/lodash/_coreJsData.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -41363,13 +41363,13 @@ var coreJsData = root['__core-js_shared__']; module.exports = coreJsData; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createAssigner.js": +/***/ "./node_modules/lodash/_createAssigner.js" /*!************************************************!*\ !*** ./node_modules/lodash/_createAssigner.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseRest = __webpack_require__(/*! ./_baseRest */ "./node_modules/lodash/_baseRest.js"), isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ "./node_modules/lodash/_isIterateeCall.js"); @@ -41410,13 +41410,13 @@ function createAssigner(assigner) { module.exports = createAssigner; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createBaseEach.js": +/***/ "./node_modules/lodash/_createBaseEach.js" /*!************************************************!*\ !*** ./node_modules/lodash/_createBaseEach.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"); @@ -41452,13 +41452,13 @@ function createBaseEach(eachFunc, fromRight) { module.exports = createBaseEach; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createBaseFor.js": +/***/ "./node_modules/lodash/_createBaseFor.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_createBaseFor.js ***! \***********************************************/ -/***/ (function(module) { +(module) { /** * Creates a base function for methods like `_.forIn` and `_.forOwn`. @@ -41487,13 +41487,13 @@ function createBaseFor(fromRight) { module.exports = createBaseFor; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createFind.js": +/***/ "./node_modules/lodash/_createFind.js" /*!********************************************!*\ !*** ./node_modules/lodash/_createFind.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"), isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"), @@ -41522,13 +41522,13 @@ function createFind(findIndexFunc) { module.exports = createFind; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createRange.js": +/***/ "./node_modules/lodash/_createRange.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_createRange.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseRange = __webpack_require__(/*! ./_baseRange */ "./node_modules/lodash/_baseRange.js"), isIterateeCall = __webpack_require__(/*! ./_isIterateeCall */ "./node_modules/lodash/_isIterateeCall.js"), @@ -41562,13 +41562,13 @@ function createRange(fromRight) { module.exports = createRange; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_createSet.js": +/***/ "./node_modules/lodash/_createSet.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_createSet.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Set = __webpack_require__(/*! ./_Set */ "./node_modules/lodash/_Set.js"), noop = __webpack_require__(/*! ./noop */ "./node_modules/lodash/noop.js"), @@ -41591,13 +41591,13 @@ var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop module.exports = createSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_defineProperty.js": +/***/ "./node_modules/lodash/_defineProperty.js" /*!************************************************!*\ !*** ./node_modules/lodash/_defineProperty.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"); @@ -41612,13 +41612,13 @@ var defineProperty = (function() { module.exports = defineProperty; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_equalArrays.js": +/***/ "./node_modules/lodash/_equalArrays.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_equalArrays.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var SetCache = __webpack_require__(/*! ./_SetCache */ "./node_modules/lodash/_SetCache.js"), arraySome = __webpack_require__(/*! ./_arraySome */ "./node_modules/lodash/_arraySome.js"), @@ -41706,13 +41706,13 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { module.exports = equalArrays; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_equalByTag.js": +/***/ "./node_modules/lodash/_equalByTag.js" /*!********************************************!*\ !*** ./node_modules/lodash/_equalByTag.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js"), @@ -41828,13 +41828,13 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { module.exports = equalByTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_equalObjects.js": +/***/ "./node_modules/lodash/_equalObjects.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_equalObjects.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getAllKeys = __webpack_require__(/*! ./_getAllKeys */ "./node_modules/lodash/_getAllKeys.js"); @@ -41928,13 +41928,13 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { module.exports = equalObjects; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_flatRest.js": +/***/ "./node_modules/lodash/_flatRest.js" /*!******************************************!*\ !*** ./node_modules/lodash/_flatRest.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var flatten = __webpack_require__(/*! ./flatten */ "./node_modules/lodash/flatten.js"), overRest = __webpack_require__(/*! ./_overRest */ "./node_modules/lodash/_overRest.js"), @@ -41954,13 +41954,13 @@ function flatRest(func) { module.exports = flatRest; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_freeGlobal.js": +/***/ "./node_modules/lodash/_freeGlobal.js" /*!********************************************!*\ !*** ./node_modules/lodash/_freeGlobal.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { /** Detect free variable `global` from Node.js. */ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; @@ -41968,13 +41968,13 @@ var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__ module.exports = freeGlobal; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getAllKeys.js": +/***/ "./node_modules/lodash/_getAllKeys.js" /*!********************************************!*\ !*** ./node_modules/lodash/_getAllKeys.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ "./node_modules/lodash/_baseGetAllKeys.js"), getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"), @@ -41994,13 +41994,13 @@ function getAllKeys(object) { module.exports = getAllKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getAllKeysIn.js": +/***/ "./node_modules/lodash/_getAllKeysIn.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_getAllKeysIn.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ "./node_modules/lodash/_baseGetAllKeys.js"), getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ "./node_modules/lodash/_getSymbolsIn.js"), @@ -42021,13 +42021,13 @@ function getAllKeysIn(object) { module.exports = getAllKeysIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getMapData.js": +/***/ "./node_modules/lodash/_getMapData.js" /*!********************************************!*\ !*** ./node_modules/lodash/_getMapData.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isKeyable = __webpack_require__(/*! ./_isKeyable */ "./node_modules/lodash/_isKeyable.js"); @@ -42049,13 +42049,13 @@ function getMapData(map, key) { module.exports = getMapData; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getMatchData.js": +/***/ "./node_modules/lodash/_getMatchData.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_getMatchData.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "./node_modules/lodash/_isStrictComparable.js"), keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); @@ -42083,13 +42083,13 @@ function getMatchData(object) { module.exports = getMatchData; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getNative.js": +/***/ "./node_modules/lodash/_getNative.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_getNative.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsNative = __webpack_require__(/*! ./_baseIsNative */ "./node_modules/lodash/_baseIsNative.js"), getValue = __webpack_require__(/*! ./_getValue */ "./node_modules/lodash/_getValue.js"); @@ -42110,13 +42110,13 @@ function getNative(object, key) { module.exports = getNative; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getPrototype.js": +/***/ "./node_modules/lodash/_getPrototype.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_getPrototype.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js"); @@ -42126,13 +42126,13 @@ var getPrototype = overArg(Object.getPrototypeOf, Object); module.exports = getPrototype; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getRawTag.js": +/***/ "./node_modules/lodash/_getRawTag.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_getRawTag.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"); @@ -42182,13 +42182,13 @@ function getRawTag(value) { module.exports = getRawTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getSymbols.js": +/***/ "./node_modules/lodash/_getSymbols.js" /*!********************************************!*\ !*** ./node_modules/lodash/_getSymbols.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayFilter = __webpack_require__(/*! ./_arrayFilter */ "./node_modules/lodash/_arrayFilter.js"), stubArray = __webpack_require__(/*! ./stubArray */ "./node_modules/lodash/stubArray.js"); @@ -42222,13 +42222,13 @@ var getSymbols = !nativeGetSymbols ? stubArray : function(object) { module.exports = getSymbols; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getSymbolsIn.js": +/***/ "./node_modules/lodash/_getSymbolsIn.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_getSymbolsIn.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"), getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), @@ -42257,13 +42257,13 @@ var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { module.exports = getSymbolsIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getTag.js": +/***/ "./node_modules/lodash/_getTag.js" /*!****************************************!*\ !*** ./node_modules/lodash/_getTag.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var DataView = __webpack_require__(/*! ./_DataView */ "./node_modules/lodash/_DataView.js"), Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"), @@ -42325,13 +42325,13 @@ if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || module.exports = getTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_getValue.js": +/***/ "./node_modules/lodash/_getValue.js" /*!******************************************!*\ !*** ./node_modules/lodash/_getValue.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * Gets the value at `key` of `object`. @@ -42348,13 +42348,13 @@ function getValue(object, key) { module.exports = getValue; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hasPath.js": +/***/ "./node_modules/lodash/_hasPath.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_hasPath.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"), isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"), @@ -42397,13 +42397,13 @@ function hasPath(object, path, hasFunc) { module.exports = hasPath; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hasUnicode.js": +/***/ "./node_modules/lodash/_hasUnicode.js" /*!********************************************!*\ !*** ./node_modules/lodash/_hasUnicode.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** Used to compose unicode character classes. */ var rsAstralRange = '\\ud800-\\udfff', @@ -42433,13 +42433,13 @@ function hasUnicode(string) { module.exports = hasUnicode; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashClear.js": +/***/ "./node_modules/lodash/_hashClear.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_hashClear.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); @@ -42458,13 +42458,13 @@ function hashClear() { module.exports = hashClear; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashDelete.js": +/***/ "./node_modules/lodash/_hashDelete.js" /*!********************************************!*\ !*** ./node_modules/lodash/_hashDelete.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * Removes `key` and its value from the hash. @@ -42485,13 +42485,13 @@ function hashDelete(key) { module.exports = hashDelete; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashGet.js": +/***/ "./node_modules/lodash/_hashGet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_hashGet.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); @@ -42525,13 +42525,13 @@ function hashGet(key) { module.exports = hashGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashHas.js": +/***/ "./node_modules/lodash/_hashHas.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_hashHas.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); @@ -42558,13 +42558,13 @@ function hashHas(key) { module.exports = hashHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_hashSet.js": +/***/ "./node_modules/lodash/_hashSet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_hashSet.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js"); @@ -42591,13 +42591,13 @@ function hashSet(key, value) { module.exports = hashSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_initCloneArray.js": +/***/ "./node_modules/lodash/_initCloneArray.js" /*!************************************************!*\ !*** ./node_modules/lodash/_initCloneArray.js ***! \************************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -42627,13 +42627,13 @@ function initCloneArray(array) { module.exports = initCloneArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_initCloneByTag.js": +/***/ "./node_modules/lodash/_initCloneByTag.js" /*!************************************************!*\ !*** ./node_modules/lodash/_initCloneByTag.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"), cloneDataView = __webpack_require__(/*! ./_cloneDataView */ "./node_modules/lodash/_cloneDataView.js"), @@ -42714,13 +42714,13 @@ function initCloneByTag(object, tag, isDeep) { module.exports = initCloneByTag; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_initCloneObject.js": +/***/ "./node_modules/lodash/_initCloneObject.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_initCloneObject.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"), getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), @@ -42742,13 +42742,13 @@ function initCloneObject(object) { module.exports = initCloneObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isFlattenable.js": +/***/ "./node_modules/lodash/_isFlattenable.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_isFlattenable.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"), @@ -42772,13 +42772,13 @@ function isFlattenable(value) { module.exports = isFlattenable; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isIndex.js": +/***/ "./node_modules/lodash/_isIndex.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_isIndex.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; @@ -42807,13 +42807,13 @@ function isIndex(value, length) { module.exports = isIndex; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isIterateeCall.js": +/***/ "./node_modules/lodash/_isIterateeCall.js" /*!************************************************!*\ !*** ./node_modules/lodash/_isIterateeCall.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"), isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"), @@ -42847,13 +42847,13 @@ function isIterateeCall(value, index, object) { module.exports = isIterateeCall; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isKey.js": +/***/ "./node_modules/lodash/_isKey.js" /*!***************************************!*\ !*** ./node_modules/lodash/_isKey.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); @@ -42886,13 +42886,13 @@ function isKey(value, object) { module.exports = isKey; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isKeyable.js": +/***/ "./node_modules/lodash/_isKeyable.js" /*!*******************************************!*\ !*** ./node_modules/lodash/_isKeyable.js ***! \*******************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is suitable for use as unique object key. @@ -42911,13 +42911,13 @@ function isKeyable(value) { module.exports = isKeyable; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isMasked.js": +/***/ "./node_modules/lodash/_isMasked.js" /*!******************************************!*\ !*** ./node_modules/lodash/_isMasked.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var coreJsData = __webpack_require__(/*! ./_coreJsData */ "./node_modules/lodash/_coreJsData.js"); @@ -42941,13 +42941,13 @@ function isMasked(func) { module.exports = isMasked; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isPrototype.js": +/***/ "./node_modules/lodash/_isPrototype.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_isPrototype.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -42969,13 +42969,13 @@ function isPrototype(value) { module.exports = isPrototype; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_isStrictComparable.js": +/***/ "./node_modules/lodash/_isStrictComparable.js" /*!****************************************************!*\ !*** ./node_modules/lodash/_isStrictComparable.js ***! \****************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); @@ -42994,13 +42994,13 @@ function isStrictComparable(value) { module.exports = isStrictComparable; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheClear.js": +/***/ "./node_modules/lodash/_listCacheClear.js" /*!************************************************!*\ !*** ./node_modules/lodash/_listCacheClear.js ***! \************************************************/ -/***/ (function(module) { +(module) { /** * Removes all key-value entries from the list cache. @@ -43017,13 +43017,13 @@ function listCacheClear() { module.exports = listCacheClear; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheDelete.js": +/***/ "./node_modules/lodash/_listCacheDelete.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_listCacheDelete.js ***! \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); @@ -43062,13 +43062,13 @@ function listCacheDelete(key) { module.exports = listCacheDelete; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheGet.js": +/***/ "./node_modules/lodash/_listCacheGet.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_listCacheGet.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); @@ -43091,13 +43091,13 @@ function listCacheGet(key) { module.exports = listCacheGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheHas.js": +/***/ "./node_modules/lodash/_listCacheHas.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_listCacheHas.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); @@ -43117,13 +43117,13 @@ function listCacheHas(key) { module.exports = listCacheHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_listCacheSet.js": +/***/ "./node_modules/lodash/_listCacheSet.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_listCacheSet.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js"); @@ -43153,13 +43153,13 @@ function listCacheSet(key, value) { module.exports = listCacheSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheClear.js": +/***/ "./node_modules/lodash/_mapCacheClear.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_mapCacheClear.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var Hash = __webpack_require__(/*! ./_Hash */ "./node_modules/lodash/_Hash.js"), ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"), @@ -43184,13 +43184,13 @@ function mapCacheClear() { module.exports = mapCacheClear; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheDelete.js": +/***/ "./node_modules/lodash/_mapCacheDelete.js" /*!************************************************!*\ !*** ./node_modules/lodash/_mapCacheDelete.js ***! \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); @@ -43212,13 +43212,13 @@ function mapCacheDelete(key) { module.exports = mapCacheDelete; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheGet.js": +/***/ "./node_modules/lodash/_mapCacheGet.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_mapCacheGet.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); @@ -43238,13 +43238,13 @@ function mapCacheGet(key) { module.exports = mapCacheGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheHas.js": +/***/ "./node_modules/lodash/_mapCacheHas.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_mapCacheHas.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); @@ -43264,13 +43264,13 @@ function mapCacheHas(key) { module.exports = mapCacheHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapCacheSet.js": +/***/ "./node_modules/lodash/_mapCacheSet.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_mapCacheSet.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js"); @@ -43296,13 +43296,13 @@ function mapCacheSet(key, value) { module.exports = mapCacheSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_mapToArray.js": +/***/ "./node_modules/lodash/_mapToArray.js" /*!********************************************!*\ !*** ./node_modules/lodash/_mapToArray.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * Converts `map` to its key-value pairs. @@ -43324,13 +43324,13 @@ function mapToArray(map) { module.exports = mapToArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_matchesStrictComparable.js": +/***/ "./node_modules/lodash/_matchesStrictComparable.js" /*!*********************************************************!*\ !*** ./node_modules/lodash/_matchesStrictComparable.js ***! \*********************************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `matchesProperty` for source values suitable @@ -43354,13 +43354,13 @@ function matchesStrictComparable(key, srcValue) { module.exports = matchesStrictComparable; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_memoizeCapped.js": +/***/ "./node_modules/lodash/_memoizeCapped.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_memoizeCapped.js ***! \***********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var memoize = __webpack_require__(/*! ./memoize */ "./node_modules/lodash/memoize.js"); @@ -43390,13 +43390,13 @@ function memoizeCapped(func) { module.exports = memoizeCapped; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_nativeCreate.js": +/***/ "./node_modules/lodash/_nativeCreate.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_nativeCreate.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"); @@ -43406,13 +43406,13 @@ var nativeCreate = getNative(Object, 'create'); module.exports = nativeCreate; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_nativeKeys.js": +/***/ "./node_modules/lodash/_nativeKeys.js" /*!********************************************!*\ !*** ./node_modules/lodash/_nativeKeys.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js"); @@ -43422,13 +43422,13 @@ var nativeKeys = overArg(Object.keys, Object); module.exports = nativeKeys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_nativeKeysIn.js": +/***/ "./node_modules/lodash/_nativeKeysIn.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_nativeKeysIn.js ***! \**********************************************/ -/***/ (function(module) { +(module) { /** * This function is like @@ -43452,13 +43452,13 @@ function nativeKeysIn(object) { module.exports = nativeKeysIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_nodeUtil.js": +/***/ "./node_modules/lodash/_nodeUtil.js" /*!******************************************!*\ !*** ./node_modules/lodash/_nodeUtil.js ***! \******************************************/ -/***/ (function(module, exports, __webpack_require__) { +(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js"); @@ -43493,13 +43493,13 @@ var nodeUtil = (function() { module.exports = nodeUtil; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_objectToString.js": +/***/ "./node_modules/lodash/_objectToString.js" /*!************************************************!*\ !*** ./node_modules/lodash/_objectToString.js ***! \************************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var objectProto = Object.prototype; @@ -43525,13 +43525,13 @@ function objectToString(value) { module.exports = objectToString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_overArg.js": +/***/ "./node_modules/lodash/_overArg.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_overArg.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * Creates a unary function that invokes `func` with its argument transformed. @@ -43550,13 +43550,13 @@ function overArg(func, transform) { module.exports = overArg; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_overRest.js": +/***/ "./node_modules/lodash/_overRest.js" /*!******************************************!*\ !*** ./node_modules/lodash/_overRest.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var apply = __webpack_require__(/*! ./_apply */ "./node_modules/lodash/_apply.js"); @@ -43596,13 +43596,13 @@ function overRest(func, start, transform) { module.exports = overRest; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_root.js": +/***/ "./node_modules/lodash/_root.js" /*!**************************************!*\ !*** ./node_modules/lodash/_root.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js"); @@ -43615,13 +43615,13 @@ var root = freeGlobal || freeSelf || Function('return this')(); module.exports = root; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_safeGet.js": +/***/ "./node_modules/lodash/_safeGet.js" /*!*****************************************!*\ !*** ./node_modules/lodash/_safeGet.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * Gets the value at `key`, unless `key` is "__proto__" or "constructor". @@ -43646,13 +43646,13 @@ function safeGet(object, key) { module.exports = safeGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_setCacheAdd.js": +/***/ "./node_modules/lodash/_setCacheAdd.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_setCacheAdd.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** Used to stand-in for `undefined` hash values. */ var HASH_UNDEFINED = '__lodash_hash_undefined__'; @@ -43675,13 +43675,13 @@ function setCacheAdd(value) { module.exports = setCacheAdd; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_setCacheHas.js": +/***/ "./node_modules/lodash/_setCacheHas.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_setCacheHas.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is in the array cache. @@ -43699,13 +43699,13 @@ function setCacheHas(value) { module.exports = setCacheHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_setToArray.js": +/***/ "./node_modules/lodash/_setToArray.js" /*!********************************************!*\ !*** ./node_modules/lodash/_setToArray.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * Converts `set` to an array of its values. @@ -43727,13 +43727,13 @@ function setToArray(set) { module.exports = setToArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_setToString.js": +/***/ "./node_modules/lodash/_setToString.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_setToString.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseSetToString = __webpack_require__(/*! ./_baseSetToString */ "./node_modules/lodash/_baseSetToString.js"), shortOut = __webpack_require__(/*! ./_shortOut */ "./node_modules/lodash/_shortOut.js"); @@ -43751,13 +43751,13 @@ var setToString = shortOut(baseSetToString); module.exports = setToString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_shortOut.js": +/***/ "./node_modules/lodash/_shortOut.js" /*!******************************************!*\ !*** ./node_modules/lodash/_shortOut.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** Used to detect hot functions by number of calls within a span of milliseconds. */ var HOT_COUNT = 800, @@ -43798,13 +43798,13 @@ function shortOut(func) { module.exports = shortOut; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackClear.js": +/***/ "./node_modules/lodash/_stackClear.js" /*!********************************************!*\ !*** ./node_modules/lodash/_stackClear.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"); @@ -43823,13 +43823,13 @@ function stackClear() { module.exports = stackClear; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackDelete.js": +/***/ "./node_modules/lodash/_stackDelete.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_stackDelete.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * Removes `key` and its value from the stack. @@ -43851,13 +43851,13 @@ function stackDelete(key) { module.exports = stackDelete; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackGet.js": +/***/ "./node_modules/lodash/_stackGet.js" /*!******************************************!*\ !*** ./node_modules/lodash/_stackGet.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * Gets the stack value for `key`. @@ -43875,13 +43875,13 @@ function stackGet(key) { module.exports = stackGet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackHas.js": +/***/ "./node_modules/lodash/_stackHas.js" /*!******************************************!*\ !*** ./node_modules/lodash/_stackHas.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * Checks if a stack value for `key` exists. @@ -43899,13 +43899,13 @@ function stackHas(key) { module.exports = stackHas; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stackSet.js": +/***/ "./node_modules/lodash/_stackSet.js" /*!******************************************!*\ !*** ./node_modules/lodash/_stackSet.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"), Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"), @@ -43943,13 +43943,13 @@ function stackSet(key, value) { module.exports = stackSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_strictIndexOf.js": +/***/ "./node_modules/lodash/_strictIndexOf.js" /*!***********************************************!*\ !*** ./node_modules/lodash/_strictIndexOf.js ***! \***********************************************/ -/***/ (function(module) { +(module) { /** * A specialized version of `_.indexOf` which performs strict equality @@ -43976,13 +43976,13 @@ function strictIndexOf(array, value, fromIndex) { module.exports = strictIndexOf; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stringSize.js": +/***/ "./node_modules/lodash/_stringSize.js" /*!********************************************!*\ !*** ./node_modules/lodash/_stringSize.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var asciiSize = __webpack_require__(/*! ./_asciiSize */ "./node_modules/lodash/_asciiSize.js"), hasUnicode = __webpack_require__(/*! ./_hasUnicode */ "./node_modules/lodash/_hasUnicode.js"), @@ -44004,13 +44004,13 @@ function stringSize(string) { module.exports = stringSize; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_stringToPath.js": +/***/ "./node_modules/lodash/_stringToPath.js" /*!**********************************************!*\ !*** ./node_modules/lodash/_stringToPath.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ "./node_modules/lodash/_memoizeCapped.js"); @@ -44041,13 +44041,13 @@ var stringToPath = memoizeCapped(function(string) { module.exports = stringToPath; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_toKey.js": +/***/ "./node_modules/lodash/_toKey.js" /*!***************************************!*\ !*** ./node_modules/lodash/_toKey.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); @@ -44072,13 +44072,13 @@ function toKey(value) { module.exports = toKey; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_toSource.js": +/***/ "./node_modules/lodash/_toSource.js" /*!******************************************!*\ !*** ./node_modules/lodash/_toSource.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** Used for built-in method references. */ var funcProto = Function.prototype; @@ -44108,13 +44108,13 @@ function toSource(func) { module.exports = toSource; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_trimmedEndIndex.js": +/***/ "./node_modules/lodash/_trimmedEndIndex.js" /*!*************************************************!*\ !*** ./node_modules/lodash/_trimmedEndIndex.js ***! \*************************************************/ -/***/ (function(module) { +(module) { /** Used to match a single whitespace character. */ var reWhitespace = /\s/; @@ -44137,13 +44137,13 @@ function trimmedEndIndex(string) { module.exports = trimmedEndIndex; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/_unicodeSize.js": +/***/ "./node_modules/lodash/_unicodeSize.js" /*!*********************************************!*\ !*** ./node_modules/lodash/_unicodeSize.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** Used to compose unicode character classes. */ var rsAstralRange = '\\ud800-\\udfff', @@ -44191,13 +44191,13 @@ function unicodeSize(string) { module.exports = unicodeSize; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/clone.js": +/***/ "./node_modules/lodash/clone.js" /*!**************************************!*\ !*** ./node_modules/lodash/clone.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseClone = __webpack_require__(/*! ./_baseClone */ "./node_modules/lodash/_baseClone.js"); @@ -44237,13 +44237,13 @@ function clone(value) { module.exports = clone; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/cloneDeep.js": +/***/ "./node_modules/lodash/cloneDeep.js" /*!******************************************!*\ !*** ./node_modules/lodash/cloneDeep.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseClone = __webpack_require__(/*! ./_baseClone */ "./node_modules/lodash/_baseClone.js"); @@ -44276,13 +44276,13 @@ function cloneDeep(value) { module.exports = cloneDeep; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/constant.js": +/***/ "./node_modules/lodash/constant.js" /*!*****************************************!*\ !*** ./node_modules/lodash/constant.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * Creates a function that returns `value`. @@ -44312,13 +44312,13 @@ function constant(value) { module.exports = constant; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/defaults.js": +/***/ "./node_modules/lodash/defaults.js" /*!*****************************************!*\ !*** ./node_modules/lodash/defaults.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseRest = __webpack_require__(/*! ./_baseRest */ "./node_modules/lodash/_baseRest.js"), eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"), @@ -44386,24 +44386,24 @@ var defaults = baseRest(function(object, sources) { module.exports = defaults; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/each.js": +/***/ "./node_modules/lodash/each.js" /*!*************************************!*\ !*** ./node_modules/lodash/each.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { module.exports = __webpack_require__(/*! ./forEach */ "./node_modules/lodash/forEach.js"); -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/eq.js": +/***/ "./node_modules/lodash/eq.js" /*!***********************************!*\ !*** ./node_modules/lodash/eq.js ***! \***********************************/ -/***/ (function(module) { +(module) { /** * Performs a @@ -44444,13 +44444,13 @@ function eq(value, other) { module.exports = eq; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/filter.js": +/***/ "./node_modules/lodash/filter.js" /*!***************************************!*\ !*** ./node_modules/lodash/filter.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayFilter = __webpack_require__(/*! ./_arrayFilter */ "./node_modules/lodash/_arrayFilter.js"), baseFilter = __webpack_require__(/*! ./_baseFilter */ "./node_modules/lodash/_baseFilter.js"), @@ -44506,13 +44506,13 @@ function filter(collection, predicate) { module.exports = filter; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/find.js": +/***/ "./node_modules/lodash/find.js" /*!*************************************!*\ !*** ./node_modules/lodash/find.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var createFind = __webpack_require__(/*! ./_createFind */ "./node_modules/lodash/_createFind.js"), findIndex = __webpack_require__(/*! ./findIndex */ "./node_modules/lodash/findIndex.js"); @@ -44558,13 +44558,13 @@ var find = createFind(findIndex); module.exports = find; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/findIndex.js": +/***/ "./node_modules/lodash/findIndex.js" /*!******************************************!*\ !*** ./node_modules/lodash/findIndex.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFindIndex = __webpack_require__(/*! ./_baseFindIndex */ "./node_modules/lodash/_baseFindIndex.js"), baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"), @@ -44623,13 +44623,13 @@ function findIndex(array, predicate, fromIndex) { module.exports = findIndex; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/flatten.js": +/***/ "./node_modules/lodash/flatten.js" /*!****************************************!*\ !*** ./node_modules/lodash/flatten.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ "./node_modules/lodash/_baseFlatten.js"); @@ -44655,13 +44655,13 @@ function flatten(array) { module.exports = flatten; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/forEach.js": +/***/ "./node_modules/lodash/forEach.js" /*!****************************************!*\ !*** ./node_modules/lodash/forEach.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"), baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"), @@ -44706,13 +44706,13 @@ function forEach(collection, iteratee) { module.exports = forEach; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/forIn.js": +/***/ "./node_modules/lodash/forIn.js" /*!**************************************!*\ !*** ./node_modules/lodash/forIn.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFor = __webpack_require__(/*! ./_baseFor */ "./node_modules/lodash/_baseFor.js"), castFunction = __webpack_require__(/*! ./_castFunction */ "./node_modules/lodash/_castFunction.js"), @@ -44755,13 +44755,13 @@ function forIn(object, iteratee) { module.exports = forIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/get.js": +/***/ "./node_modules/lodash/get.js" /*!************************************!*\ !*** ./node_modules/lodash/get.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js"); @@ -44798,13 +44798,13 @@ function get(object, path, defaultValue) { module.exports = get; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/has.js": +/***/ "./node_modules/lodash/has.js" /*!************************************!*\ !*** ./node_modules/lodash/has.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseHas = __webpack_require__(/*! ./_baseHas */ "./node_modules/lodash/_baseHas.js"), hasPath = __webpack_require__(/*! ./_hasPath */ "./node_modules/lodash/_hasPath.js"); @@ -44843,13 +44843,13 @@ function has(object, path) { module.exports = has; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/hasIn.js": +/***/ "./node_modules/lodash/hasIn.js" /*!**************************************!*\ !*** ./node_modules/lodash/hasIn.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseHasIn = __webpack_require__(/*! ./_baseHasIn */ "./node_modules/lodash/_baseHasIn.js"), hasPath = __webpack_require__(/*! ./_hasPath */ "./node_modules/lodash/_hasPath.js"); @@ -44887,13 +44887,13 @@ function hasIn(object, path) { module.exports = hasIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/identity.js": +/***/ "./node_modules/lodash/identity.js" /*!*****************************************!*\ !*** ./node_modules/lodash/identity.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * This method returns the first argument it receives. @@ -44918,13 +44918,13 @@ function identity(value) { module.exports = identity; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isArguments.js": +/***/ "./node_modules/lodash/isArguments.js" /*!********************************************!*\ !*** ./node_modules/lodash/isArguments.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsArguments = __webpack_require__(/*! ./_baseIsArguments */ "./node_modules/lodash/_baseIsArguments.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -44964,13 +44964,13 @@ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsAr module.exports = isArguments; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isArray.js": +/***/ "./node_modules/lodash/isArray.js" /*!****************************************!*\ !*** ./node_modules/lodash/isArray.js ***! \****************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is classified as an `Array` object. @@ -45000,13 +45000,13 @@ var isArray = Array.isArray; module.exports = isArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isArrayLike.js": +/***/ "./node_modules/lodash/isArrayLike.js" /*!********************************************!*\ !*** ./node_modules/lodash/isArrayLike.js ***! \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"), isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"); @@ -45043,13 +45043,13 @@ function isArrayLike(value) { module.exports = isArrayLike; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isArrayLikeObject.js": +/***/ "./node_modules/lodash/isArrayLikeObject.js" /*!**************************************************!*\ !*** ./node_modules/lodash/isArrayLikeObject.js ***! \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -45086,13 +45086,13 @@ function isArrayLikeObject(value) { module.exports = isArrayLikeObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isBuffer.js": +/***/ "./node_modules/lodash/isBuffer.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isBuffer.js ***! \*****************************************/ -/***/ (function(module, exports, __webpack_require__) { +(module, exports, __webpack_require__) { /* module decorator */ module = __webpack_require__.nmd(module); var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"), @@ -45135,13 +45135,13 @@ var isBuffer = nativeIsBuffer || stubFalse; module.exports = isBuffer; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isEmpty.js": +/***/ "./node_modules/lodash/isEmpty.js" /*!****************************************!*\ !*** ./node_modules/lodash/isEmpty.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseKeys = __webpack_require__(/*! ./_baseKeys */ "./node_modules/lodash/_baseKeys.js"), getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), @@ -45222,13 +45222,13 @@ function isEmpty(value) { module.exports = isEmpty; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isFunction.js": +/***/ "./node_modules/lodash/isFunction.js" /*!*******************************************!*\ !*** ./node_modules/lodash/isFunction.js ***! \*******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"); @@ -45269,13 +45269,13 @@ function isFunction(value) { module.exports = isFunction; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isLength.js": +/***/ "./node_modules/lodash/isLength.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isLength.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** Used as references for various `Number` constants. */ var MAX_SAFE_INTEGER = 9007199254740991; @@ -45314,13 +45314,13 @@ function isLength(value) { module.exports = isLength; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isMap.js": +/***/ "./node_modules/lodash/isMap.js" /*!**************************************!*\ !*** ./node_modules/lodash/isMap.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsMap = __webpack_require__(/*! ./_baseIsMap */ "./node_modules/lodash/_baseIsMap.js"), baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"), @@ -45351,13 +45351,13 @@ var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; module.exports = isMap; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isObject.js": +/***/ "./node_modules/lodash/isObject.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isObject.js ***! \*****************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is the @@ -45392,13 +45392,13 @@ function isObject(value) { module.exports = isObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isObjectLike.js": +/***/ "./node_modules/lodash/isObjectLike.js" /*!*********************************************!*\ !*** ./node_modules/lodash/isObjectLike.js ***! \*********************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is object-like. A value is object-like if it's not `null` @@ -45431,13 +45431,13 @@ function isObjectLike(value) { module.exports = isObjectLike; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isPlainObject.js": +/***/ "./node_modules/lodash/isPlainObject.js" /*!**********************************************!*\ !*** ./node_modules/lodash/isPlainObject.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), @@ -45503,13 +45503,13 @@ function isPlainObject(value) { module.exports = isPlainObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isSet.js": +/***/ "./node_modules/lodash/isSet.js" /*!**************************************!*\ !*** ./node_modules/lodash/isSet.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsSet = __webpack_require__(/*! ./_baseIsSet */ "./node_modules/lodash/_baseIsSet.js"), baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"), @@ -45540,13 +45540,13 @@ var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; module.exports = isSet; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isString.js": +/***/ "./node_modules/lodash/isString.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isString.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), @@ -45580,13 +45580,13 @@ function isString(value) { module.exports = isString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isSymbol.js": +/***/ "./node_modules/lodash/isSymbol.js" /*!*****************************************!*\ !*** ./node_modules/lodash/isSymbol.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); @@ -45619,13 +45619,13 @@ function isSymbol(value) { module.exports = isSymbol; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isTypedArray.js": +/***/ "./node_modules/lodash/isTypedArray.js" /*!*********************************************!*\ !*** ./node_modules/lodash/isTypedArray.js ***! \*********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseIsTypedArray = __webpack_require__(/*! ./_baseIsTypedArray */ "./node_modules/lodash/_baseIsTypedArray.js"), baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"), @@ -45656,13 +45656,13 @@ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedA module.exports = isTypedArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/isUndefined.js": +/***/ "./node_modules/lodash/isUndefined.js" /*!********************************************!*\ !*** ./node_modules/lodash/isUndefined.js ***! \********************************************/ -/***/ (function(module) { +(module) { /** * Checks if `value` is `undefined`. @@ -45688,13 +45688,13 @@ function isUndefined(value) { module.exports = isUndefined; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/keys.js": +/***/ "./node_modules/lodash/keys.js" /*!*************************************!*\ !*** ./node_modules/lodash/keys.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"), baseKeys = __webpack_require__(/*! ./_baseKeys */ "./node_modules/lodash/_baseKeys.js"), @@ -45735,13 +45735,13 @@ function keys(object) { module.exports = keys; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/keysIn.js": +/***/ "./node_modules/lodash/keysIn.js" /*!***************************************!*\ !*** ./node_modules/lodash/keysIn.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"), baseKeysIn = __webpack_require__(/*! ./_baseKeysIn */ "./node_modules/lodash/_baseKeysIn.js"), @@ -45777,13 +45777,13 @@ function keysIn(object) { module.exports = keysIn; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/last.js": +/***/ "./node_modules/lodash/last.js" /*!*************************************!*\ !*** ./node_modules/lodash/last.js ***! \*************************************/ -/***/ (function(module) { +(module) { /** * Gets the last element of `array`. @@ -45807,13 +45807,13 @@ function last(array) { module.exports = last; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/map.js": +/***/ "./node_modules/lodash/map.js" /*!************************************!*\ !*** ./node_modules/lodash/map.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"), @@ -45870,13 +45870,13 @@ function map(collection, iteratee) { module.exports = map; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/mapValues.js": +/***/ "./node_modules/lodash/mapValues.js" /*!******************************************!*\ !*** ./node_modules/lodash/mapValues.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"), baseForOwn = __webpack_require__(/*! ./_baseForOwn */ "./node_modules/lodash/_baseForOwn.js"), @@ -45923,13 +45923,13 @@ function mapValues(object, iteratee) { module.exports = mapValues; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/max.js": +/***/ "./node_modules/lodash/max.js" /*!************************************!*\ !*** ./node_modules/lodash/max.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseExtremum = __webpack_require__(/*! ./_baseExtremum */ "./node_modules/lodash/_baseExtremum.js"), baseGt = __webpack_require__(/*! ./_baseGt */ "./node_modules/lodash/_baseGt.js"), @@ -45962,13 +45962,13 @@ function max(array) { module.exports = max; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/memoize.js": +/***/ "./node_modules/lodash/memoize.js" /*!****************************************!*\ !*** ./node_modules/lodash/memoize.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js"); @@ -46045,13 +46045,13 @@ memoize.Cache = MapCache; module.exports = memoize; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/merge.js": +/***/ "./node_modules/lodash/merge.js" /*!**************************************!*\ !*** ./node_modules/lodash/merge.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseMerge = __webpack_require__(/*! ./_baseMerge */ "./node_modules/lodash/_baseMerge.js"), createAssigner = __webpack_require__(/*! ./_createAssigner */ "./node_modules/lodash/_createAssigner.js"); @@ -46094,13 +46094,13 @@ var merge = createAssigner(function(object, source, srcIndex) { module.exports = merge; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/min.js": +/***/ "./node_modules/lodash/min.js" /*!************************************!*\ !*** ./node_modules/lodash/min.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseExtremum = __webpack_require__(/*! ./_baseExtremum */ "./node_modules/lodash/_baseExtremum.js"), baseLt = __webpack_require__(/*! ./_baseLt */ "./node_modules/lodash/_baseLt.js"), @@ -46133,13 +46133,13 @@ function min(array) { module.exports = min; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/minBy.js": +/***/ "./node_modules/lodash/minBy.js" /*!**************************************!*\ !*** ./node_modules/lodash/minBy.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseExtremum = __webpack_require__(/*! ./_baseExtremum */ "./node_modules/lodash/_baseExtremum.js"), baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"), @@ -46177,13 +46177,13 @@ function minBy(array, iteratee) { module.exports = minBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/noop.js": +/***/ "./node_modules/lodash/noop.js" /*!*************************************!*\ !*** ./node_modules/lodash/noop.js ***! \*************************************/ -/***/ (function(module) { +(module) { /** * This method returns `undefined`. @@ -46204,13 +46204,13 @@ function noop() { module.exports = noop; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/now.js": +/***/ "./node_modules/lodash/now.js" /*!************************************!*\ !*** ./node_modules/lodash/now.js ***! \************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); @@ -46237,13 +46237,13 @@ var now = function() { module.exports = now; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/pick.js": +/***/ "./node_modules/lodash/pick.js" /*!*************************************!*\ !*** ./node_modules/lodash/pick.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var basePick = __webpack_require__(/*! ./_basePick */ "./node_modules/lodash/_basePick.js"), flatRest = __webpack_require__(/*! ./_flatRest */ "./node_modules/lodash/_flatRest.js"); @@ -46272,13 +46272,13 @@ var pick = flatRest(function(object, paths) { module.exports = pick; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/property.js": +/***/ "./node_modules/lodash/property.js" /*!*****************************************!*\ !*** ./node_modules/lodash/property.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseProperty = __webpack_require__(/*! ./_baseProperty */ "./node_modules/lodash/_baseProperty.js"), basePropertyDeep = __webpack_require__(/*! ./_basePropertyDeep */ "./node_modules/lodash/_basePropertyDeep.js"), @@ -46314,13 +46314,13 @@ function property(path) { module.exports = property; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/range.js": +/***/ "./node_modules/lodash/range.js" /*!**************************************!*\ !*** ./node_modules/lodash/range.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var createRange = __webpack_require__(/*! ./_createRange */ "./node_modules/lodash/_createRange.js"); @@ -46370,13 +46370,13 @@ var range = createRange(); module.exports = range; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/reduce.js": +/***/ "./node_modules/lodash/reduce.js" /*!***************************************!*\ !*** ./node_modules/lodash/reduce.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayReduce = __webpack_require__(/*! ./_arrayReduce */ "./node_modules/lodash/_arrayReduce.js"), baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"), @@ -46431,13 +46431,13 @@ function reduce(collection, iteratee, accumulator) { module.exports = reduce; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/size.js": +/***/ "./node_modules/lodash/size.js" /*!*************************************!*\ !*** ./node_modules/lodash/size.js ***! \*************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseKeys = __webpack_require__(/*! ./_baseKeys */ "./node_modules/lodash/_baseKeys.js"), getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"), @@ -46487,13 +46487,13 @@ function size(collection) { module.exports = size; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/sortBy.js": +/***/ "./node_modules/lodash/sortBy.js" /*!***************************************!*\ !*** ./node_modules/lodash/sortBy.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ "./node_modules/lodash/_baseFlatten.js"), baseOrderBy = __webpack_require__(/*! ./_baseOrderBy */ "./node_modules/lodash/_baseOrderBy.js"), @@ -46545,13 +46545,13 @@ var sortBy = baseRest(function(collection, iteratees) { module.exports = sortBy; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/stubArray.js": +/***/ "./node_modules/lodash/stubArray.js" /*!******************************************!*\ !*** ./node_modules/lodash/stubArray.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * This method returns a new empty array. @@ -46578,13 +46578,13 @@ function stubArray() { module.exports = stubArray; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/stubFalse.js": +/***/ "./node_modules/lodash/stubFalse.js" /*!******************************************!*\ !*** ./node_modules/lodash/stubFalse.js ***! \******************************************/ -/***/ (function(module) { +(module) { /** * This method returns `false`. @@ -46606,13 +46606,13 @@ function stubFalse() { module.exports = stubFalse; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toFinite.js": +/***/ "./node_modules/lodash/toFinite.js" /*!*****************************************!*\ !*** ./node_modules/lodash/toFinite.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var toNumber = __webpack_require__(/*! ./toNumber */ "./node_modules/lodash/toNumber.js"); @@ -46658,13 +46658,13 @@ function toFinite(value) { module.exports = toFinite; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toInteger.js": +/***/ "./node_modules/lodash/toInteger.js" /*!******************************************!*\ !*** ./node_modules/lodash/toInteger.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var toFinite = __webpack_require__(/*! ./toFinite */ "./node_modules/lodash/toFinite.js"); @@ -46704,13 +46704,13 @@ function toInteger(value) { module.exports = toInteger; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toNumber.js": +/***/ "./node_modules/lodash/toNumber.js" /*!*****************************************!*\ !*** ./node_modules/lodash/toNumber.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseTrim = __webpack_require__(/*! ./_baseTrim */ "./node_modules/lodash/_baseTrim.js"), isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), @@ -46778,13 +46778,13 @@ function toNumber(value) { module.exports = toNumber; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toPlainObject.js": +/***/ "./node_modules/lodash/toPlainObject.js" /*!**********************************************!*\ !*** ./node_modules/lodash/toPlainObject.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"), keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js"); @@ -46820,13 +46820,13 @@ function toPlainObject(value) { module.exports = toPlainObject; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/toString.js": +/***/ "./node_modules/lodash/toString.js" /*!*****************************************!*\ !*** ./node_modules/lodash/toString.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseToString = __webpack_require__(/*! ./_baseToString */ "./node_modules/lodash/_baseToString.js"); @@ -46858,13 +46858,13 @@ function toString(value) { module.exports = toString; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/transform.js": +/***/ "./node_modules/lodash/transform.js" /*!******************************************!*\ !*** ./node_modules/lodash/transform.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"), baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"), @@ -46933,13 +46933,13 @@ function transform(object, iteratee, accumulator) { module.exports = transform; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/union.js": +/***/ "./node_modules/lodash/union.js" /*!**************************************!*\ !*** ./node_modules/lodash/union.js ***! \**************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ "./node_modules/lodash/_baseFlatten.js"), baseRest = __webpack_require__(/*! ./_baseRest */ "./node_modules/lodash/_baseRest.js"), @@ -46969,13 +46969,13 @@ var union = baseRest(function(arrays) { module.exports = union; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/uniqueId.js": +/***/ "./node_modules/lodash/uniqueId.js" /*!*****************************************!*\ !*** ./node_modules/lodash/uniqueId.js ***! \*****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var toString = __webpack_require__(/*! ./toString */ "./node_modules/lodash/toString.js"); @@ -47007,13 +47007,13 @@ function uniqueId(prefix) { module.exports = uniqueId; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/values.js": +/***/ "./node_modules/lodash/values.js" /*!***************************************!*\ !*** ./node_modules/lodash/values.js ***! \***************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var baseValues = __webpack_require__(/*! ./_baseValues */ "./node_modules/lodash/_baseValues.js"), keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"); @@ -47051,13 +47051,13 @@ function values(object) { module.exports = values; -/***/ }), +/***/ }, -/***/ "./node_modules/lodash/zipObject.js": +/***/ "./node_modules/lodash/zipObject.js" /*!******************************************!*\ !*** ./node_modules/lodash/zipObject.js ***! \******************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { var assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"), baseZipObject = __webpack_require__(/*! ./_baseZipObject */ "./node_modules/lodash/_baseZipObject.js"); @@ -47085,13 +47085,13 @@ function zipObject(props, values) { module.exports = zipObject; -/***/ }), +/***/ }, -/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": +/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js" /*!*************************************************************!*\ !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! \*************************************************************/ -/***/ (function(module) { +(module) { "use strict"; /** @@ -47108,13 +47108,13 @@ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; -/***/ }), +/***/ }, -/***/ "./node_modules/react-base16-styling/lib/esm/colorConverters.js": +/***/ "./node_modules/react-base16-styling/lib/esm/colorConverters.js" /*!**********************************************************************!*\ !*** ./node_modules/react-base16-styling/lib/esm/colorConverters.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47145,13 +47145,13 @@ function rgb2yuv(rgb) { return [y, u, v]; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-base16-styling/lib/esm/index.js": +/***/ "./node_modules/react-base16-styling/lib/esm/index.js" /*!************************************************************!*\ !*** ./node_modules/react-base16-styling/lib/esm/index.js ***! \************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47456,13 +47456,13 @@ var invertTheme = function invertTheme(theme) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/react-is/cjs/react-is.development.js": +/***/ "./node_modules/react-is/cjs/react-is.development.js" /*!***********************************************************!*\ !*** ./node_modules/react-is/cjs/react-is.development.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, exports) { +(__unused_webpack_module, exports) { "use strict"; /** @license React v16.13.1 @@ -47648,13 +47648,13 @@ exports.typeOf = typeOf; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-is/index.js": +/***/ "./node_modules/react-is/index.js" /*!****************************************!*\ !*** ./node_modules/react-is/index.js ***! \****************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -47665,13 +47665,13 @@ if (false) // removed by dead control flow } -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/ItemRange.js": +/***/ "./node_modules/react-json-tree/lib/esm/ItemRange.js" /*!***********************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/ItemRange.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47766,13 +47766,13 @@ var ItemRange = /*#__PURE__*/function (_React$Component) { -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONArrayNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONArrayNode.js" /*!***************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONArrayNode.js ***! \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47815,13 +47815,13 @@ JSONArrayNode.propTypes = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONArrayNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONArrow.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONArrow.js" /*!***********************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONArrow.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47857,13 +47857,13 @@ JSONArrow.defaultProps = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONArrow); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONIterableNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONIterableNode.js" /*!******************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONIterableNode.js ***! \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -47929,13 +47929,13 @@ var JSONIterableNode = function JSONIterableNode(_ref) { /* harmony default export */ __webpack_exports__["default"] = (JSONIterableNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONNestedNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONNestedNode.js" /*!****************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONNestedNode.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48139,13 +48139,13 @@ var JSONNestedNode = /*#__PURE__*/function (_React$Component) { -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONNode.js" /*!**********************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONNode.js ***! \**********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48289,13 +48289,13 @@ JSONNode.propTypes = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONObjectNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONObjectNode.js" /*!****************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONObjectNode.js ***! \****************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48340,13 +48340,13 @@ JSONObjectNode.propTypes = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONObjectNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/JSONValueNode.js": +/***/ "./node_modules/react-json-tree/lib/esm/JSONValueNode.js" /*!***************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/JSONValueNode.js ***! \***************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48384,13 +48384,13 @@ JSONValueNode.propTypes = { }; /* harmony default export */ __webpack_exports__["default"] = (JSONValueNode); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/createStylingFromTheme.js": +/***/ "./node_modules/react-json-tree/lib/esm/createStylingFromTheme.js" /*!************************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/createStylingFromTheme.js ***! \************************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48597,13 +48597,13 @@ var createStylingFromTheme = (0,react_base16_styling__WEBPACK_IMPORTED_MODULE_1_ }); /* harmony default export */ __webpack_exports__["default"] = (createStylingFromTheme); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/getCollectionEntries.js": +/***/ "./node_modules/react-json-tree/lib/esm/getCollectionEntries.js" /*!**********************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/getCollectionEntries.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48777,13 +48777,13 @@ function getCollectionEntries(type, collection, sortObjectKeys, limit) { return limitedEntries; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/index.js": +/***/ "./node_modules/react-json-tree/lib/esm/index.js" /*!*******************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/index.js ***! \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -48997,13 +48997,13 @@ var JSONTree = /*#__PURE__*/function (_React$Component) { invertTheme: true }); -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/objType.js": +/***/ "./node_modules/react-json-tree/lib/esm/objType.js" /*!*********************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/objType.js ***! \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49025,13 +49025,13 @@ function objType(obj) { return type; } -/***/ }), +/***/ }, -/***/ "./node_modules/react-json-tree/lib/esm/themes/solarized.js": +/***/ "./node_modules/react-json-tree/lib/esm/themes/solarized.js" /*!******************************************************************!*\ !*** ./node_modules/react-json-tree/lib/esm/themes/solarized.js ***! \******************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49056,13 +49056,13 @@ __webpack_require__.r(__webpack_exports__); base0F: '#d33682' }); -/***/ }), +/***/ }, -/***/ "./node_modules/redux-actions/es/createAction.js": +/***/ "./node_modules/redux-actions/es/createAction.js" /*!*******************************************************!*\ !*** ./node_modules/redux-actions/es/createAction.js ***! \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49122,13 +49122,13 @@ function createAction(type, payloadCreator, metaCreator) { return actionCreator; } -/***/ }), +/***/ }, -/***/ "./node_modules/redux-actions/es/utils/identity.js": +/***/ "./node_modules/redux-actions/es/utils/identity.js" /*!*********************************************************!*\ !*** ./node_modules/redux-actions/es/utils/identity.js ***! \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49136,13 +49136,13 @@ __webpack_require__.r(__webpack_exports__); return value; }); -/***/ }), +/***/ }, -/***/ "./node_modules/redux-actions/es/utils/isFunction.js": +/***/ "./node_modules/redux-actions/es/utils/isFunction.js" /*!***********************************************************!*\ !*** ./node_modules/redux-actions/es/utils/isFunction.js ***! \***********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49150,13 +49150,13 @@ __webpack_require__.r(__webpack_exports__); return typeof value === 'function'; }); -/***/ }), +/***/ }, -/***/ "./node_modules/redux-actions/es/utils/isNull.js": +/***/ "./node_modules/redux-actions/es/utils/isNull.js" /*!*******************************************************!*\ !*** ./node_modules/redux-actions/es/utils/isNull.js ***! \*******************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49164,13 +49164,13 @@ __webpack_require__.r(__webpack_exports__); return value === null; }); -/***/ }), +/***/ }, -/***/ "./node_modules/redux-thunk/es/index.js": +/***/ "./node_modules/redux-thunk/es/index.js" /*!**********************************************!*\ !*** ./node_modules/redux-thunk/es/index.js ***! \**********************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49207,13 +49207,13 @@ var thunk = createThunkMiddleware(); // Attach the factory function so users can thunk.withExtraArgument = createThunkMiddleware; /* harmony default export */ __webpack_exports__["default"] = (thunk); -/***/ }), +/***/ }, -/***/ "./node_modules/redux/es/redux.js": +/***/ "./node_modules/redux/es/redux.js" /*!****************************************!*\ !*** ./node_modules/redux/es/redux.js ***! \****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -49934,13 +49934,13 @@ function applyMiddleware() { -/***/ }), +/***/ }, -/***/ "./node_modules/simple-swizzle/index.js": +/***/ "./node_modules/simple-swizzle/index.js" /*!**********************************************!*\ !*** ./node_modules/simple-swizzle/index.js ***! \**********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -49974,13 +49974,13 @@ swizzle.wrap = function (fn) { }; -/***/ }), +/***/ }, -/***/ "./node_modules/simple-swizzle/node_modules/is-arrayish/index.js": +/***/ "./node_modules/simple-swizzle/node_modules/is-arrayish/index.js" /*!***********************************************************************!*\ !*** ./node_modules/simple-swizzle/node_modules/is-arrayish/index.js ***! \***********************************************************************/ -/***/ (function(module) { +(module) { module.exports = function isArrayish(obj) { if (!obj || typeof obj === 'string') { @@ -49993,13 +49993,13 @@ module.exports = function isArrayish(obj) { }; -/***/ }), +/***/ }, -/***/ "./src/components/core/Toolbar.css": +/***/ "./src/components/core/Toolbar.css" /*!*****************************************!*\ !*** ./src/components/core/Toolbar.css ***! \*****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50045,13 +50045,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_Toolbar_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_Toolbar_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_Toolbar_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/CallbackGraph/CallbackGraphContainer.css": +/***/ "./src/components/error/CallbackGraph/CallbackGraphContainer.css" /*!***********************************************************************!*\ !*** ./src/components/error/CallbackGraph/CallbackGraphContainer.css ***! \***********************************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50097,13 +50097,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/FrontEnd/FrontEndError.css": +/***/ "./src/components/error/FrontEnd/FrontEndError.css" /*!*********************************************************!*\ !*** ./src/components/error/FrontEnd/FrontEndError.css ***! \*********************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50149,13 +50149,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_FrontEndError_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_FrontEndError_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_FrontEndError_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/Percy.css": +/***/ "./src/components/error/Percy.css" /*!****************************************!*\ !*** ./src/components/error/Percy.css ***! \****************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50201,13 +50201,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_Percy_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_Percy_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_Percy_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/menu/DebugMenu.css": +/***/ "./src/components/error/menu/DebugMenu.css" /*!*************************************************!*\ !*** ./src/components/error/menu/DebugMenu.css ***! \*************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50253,13 +50253,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_DebugMenu_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_DebugMenu_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_DebugMenu_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/menu/PlotlyCloud.css": +/***/ "./src/components/error/menu/PlotlyCloud.css" /*!***************************************************!*\ !*** ./src/components/error/menu/PlotlyCloud.css ***! \***************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50305,13 +50305,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_PlotlyCloud_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_PlotlyCloud_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_PlotlyCloud_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./src/components/error/menu/VersionInfo.css": +/***/ "./src/components/error/menu/VersionInfo.css" /*!***************************************************!*\ !*** ./src/components/error/menu/VersionInfo.css ***! \***************************************************/ -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50357,13 +50357,13 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_VersionInfo_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_VersionInfo_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_VersionInfo_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js" /*!****************************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! \****************************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50451,13 +50451,13 @@ module.exports = function (list, options) { }; }; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js": +/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js" /*!********************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***! \********************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50495,13 +50495,13 @@ function insertBySelector(insert, style) { } module.exports = insertBySelector; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js": +/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js" /*!**********************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***! \**********************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50515,13 +50515,13 @@ function insertStyleElement(options) { } module.exports = insertStyleElement; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js": +/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js" /*!**********************************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***! \**********************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -50535,13 +50535,13 @@ function setAttributesWithoutAttributes(styleElement) { } module.exports = setAttributesWithoutAttributes; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js": +/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js" /*!***************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***! \***************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50606,13 +50606,13 @@ function domAPI(options) { } module.exports = domAPI; -/***/ }), +/***/ }, -/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js": +/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js" /*!*********************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***! \*********************************************************************/ -/***/ (function(module) { +(module) { "use strict"; @@ -50630,13 +50630,13 @@ function styleTagTransform(css, styleElement) { } module.exports = styleTagTransform; -/***/ }), +/***/ }, -/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js": +/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js" /*!**********************************************************************************************!*\ !*** ./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js ***! \**********************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { "use strict"; /** @@ -50736,13 +50736,13 @@ module.exports = styleTagTransform; })(); -/***/ }), +/***/ }, -/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js": +/***/ "./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js" /*!************************************************************************************************************!*\ !*** ./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js ***! \************************************************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { "use strict"; /** @@ -50844,13 +50844,13 @@ module.exports = styleTagTransform; })(); -/***/ }), +/***/ }, -/***/ "./node_modules/use-sync-external-store/shim/index.js": +/***/ "./node_modules/use-sync-external-store/shim/index.js" /*!************************************************************!*\ !*** ./node_modules/use-sync-external-store/shim/index.js ***! \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -50861,13 +50861,13 @@ if (false) // removed by dead control flow } -/***/ }), +/***/ }, -/***/ "./node_modules/use-sync-external-store/shim/with-selector.js": +/***/ "./node_modules/use-sync-external-store/shim/with-selector.js" /*!********************************************************************!*\ !*** ./node_modules/use-sync-external-store/shim/with-selector.js ***! \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { "use strict"; @@ -50878,46 +50878,46 @@ if (false) // removed by dead control flow } -/***/ }), +/***/ }, -/***/ "prop-types": +/***/ "prop-types" /*!****************************!*\ !*** external "PropTypes" ***! \****************************/ -/***/ (function(module) { +(module) { "use strict"; module.exports = window["PropTypes"]; -/***/ }), +/***/ }, -/***/ "react": +/***/ "react" /*!************************!*\ !*** external "React" ***! \************************/ -/***/ (function(module) { +(module) { "use strict"; module.exports = window["React"]; -/***/ }), +/***/ }, -/***/ "react-dom": +/***/ "react-dom" /*!***************************!*\ !*** external "ReactDOM" ***! \***************************/ -/***/ (function(module) { +(module) { "use strict"; module.exports = window["ReactDOM"]; -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js" /*!*********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***! \*********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50931,13 +50931,13 @@ function _arrayLikeToArray(r, a) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50949,13 +50949,13 @@ function _arrayWithHoles(r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js" /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50969,13 +50969,13 @@ function _arrayWithoutHoles(r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js" /*!**************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***! \**************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -50988,13 +50988,13 @@ function _assertThisInitialized(e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/classCallCheck.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51006,13 +51006,13 @@ function _classCallCheck(a, n) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/createClass.js" /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***! \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51034,13 +51034,13 @@ function _createClass(e, r, t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51059,13 +51059,13 @@ function _defineProperty(e, r, t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js" /*!************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***! \************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51083,13 +51083,13 @@ function _extends() { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51103,13 +51103,13 @@ function _getPrototypeOf(t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/inherits.js" /*!*************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/inherits.js ***! \*************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51132,13 +51132,13 @@ function _inherits(t, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArray.js" /*!********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***! \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51150,13 +51150,13 @@ function _iterableToArray(r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js" /*!*************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***! \*************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51192,13 +51192,13 @@ function _iterableToArrayLimit(r, l) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js" /*!********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***! \********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51210,13 +51210,13 @@ function _nonIterableRest() { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js" /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51228,13 +51228,13 @@ function _nonIterableSpread() { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/objectSpread2.js" /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js ***! \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51266,13 +51266,13 @@ function _objectSpread2(e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js" /*!****************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js ***! \****************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51294,13 +51294,13 @@ function _objectWithoutProperties(e, t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js" /*!*********************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js ***! \*********************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51318,13 +51318,13 @@ function _objectWithoutPropertiesLoose(r, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js" /*!******************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js ***! \******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51342,13 +51342,13 @@ function _possibleConstructorReturn(t, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js" /*!*******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***! \*******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51362,13 +51362,13 @@ function _setPrototypeOf(t, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js" /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***! \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51388,13 +51388,13 @@ function _slicedToArray(r, e) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js" /*!**********************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***! \**********************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51414,13 +51414,13 @@ function _toConsumableArray(r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js" /*!****************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***! \****************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51441,13 +51441,13 @@ function toPrimitive(t, r) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js" /*!******************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***! \******************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51464,13 +51464,13 @@ function toPropertyKey(t) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js" /*!***********************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***! \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51488,13 +51488,13 @@ function _typeof(o) { } -/***/ }), +/***/ }, -/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js": +/***/ "./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js" /*!*******************************************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***! \*******************************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51512,13 +51512,13 @@ function _unsupportedIterableToArray(r, a) { } -/***/ }), +/***/ }, -/***/ "./node_modules/cookie/dist/index.js": +/***/ "./node_modules/cookie/dist/index.js" /*!*******************************************!*\ !*** ./node_modules/cookie/dist/index.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51859,13 +51859,13 @@ function defaultEncode(str) { return cookieOctetRegExp.test(str) ? str : encodeURIComponent(str); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/all.js": +/***/ "./node_modules/ramda/es/all.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/all.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51912,13 +51912,13 @@ var all = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa })); /* harmony default export */ __webpack_exports__["default"] = (all); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/always.js": +/***/ "./node_modules/ramda/es/always.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/always.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -51951,13 +51951,13 @@ var always = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (always); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/any.js": +/***/ "./node_modules/ramda/es/any.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/any.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52005,13 +52005,13 @@ var any = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa })); /* harmony default export */ __webpack_exports__["default"] = (any); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/ap.js": +/***/ "./node_modules/ramda/es/ap.js" /*!*************************************!*\ !*** ./node_modules/ramda/es/ap.js ***! \*************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52059,13 +52059,13 @@ var ap = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["defau }); /* harmony default export */ __webpack_exports__["default"] = (ap); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/append.js": +/***/ "./node_modules/ramda/es/append.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/append.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52099,13 +52099,13 @@ var append = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["d }); /* harmony default export */ __webpack_exports__["default"] = (append); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/assoc.js": +/***/ "./node_modules/ramda/es/assoc.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/assoc.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52140,13 +52140,13 @@ var assoc = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (assoc); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/assocPath.js": +/***/ "./node_modules/ramda/es/assocPath.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/assocPath.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52199,13 +52199,13 @@ var assocPath = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ }); /* harmony default export */ __webpack_exports__["default"] = (assocPath); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/bind.js": +/***/ "./node_modules/ramda/es/bind.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/bind.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52243,13 +52243,13 @@ var bind = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["def }); /* harmony default export */ __webpack_exports__["default"] = (bind); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/clone.js": +/***/ "./node_modules/ramda/es/clone.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/clone.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52290,13 +52290,13 @@ var clone = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["de }); /* harmony default export */ __webpack_exports__["default"] = (clone); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/comparator.js": +/***/ "./node_modules/ramda/es/comparator.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/comparator.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52333,13 +52333,13 @@ var comparator = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0_ }); /* harmony default export */ __webpack_exports__["default"] = (comparator); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/concat.js": +/***/ "./node_modules/ramda/es/concat.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/concat.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52405,13 +52405,13 @@ var concat = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (concat); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/converge.js": +/***/ "./node_modules/ramda/es/converge.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/converge.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52467,13 +52467,13 @@ var converge = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__[ }); /* harmony default export */ __webpack_exports__["default"] = (converge); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/curryN.js": +/***/ "./node_modules/ramda/es/curryN.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/curryN.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52536,13 +52536,13 @@ var curryN = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__["d }); /* harmony default export */ __webpack_exports__["default"] = (curryN); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/defaultTo.js": +/***/ "./node_modules/ramda/es/defaultTo.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/defaultTo.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52577,13 +52577,13 @@ var defaultTo = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ }); /* harmony default export */ __webpack_exports__["default"] = (defaultTo); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/difference.js": +/***/ "./node_modules/ramda/es/difference.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/difference.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52631,13 +52631,13 @@ var difference = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0_ }); /* harmony default export */ __webpack_exports__["default"] = (difference); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/dissoc.js": +/***/ "./node_modules/ramda/es/dissoc.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/dissoc.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52667,13 +52667,13 @@ var dissoc = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (dissoc); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/dissocPath.js": +/***/ "./node_modules/ramda/es/dissocPath.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/dissocPath.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52749,13 +52749,13 @@ var dissocPath = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0_ }); /* harmony default export */ __webpack_exports__["default"] = (dissocPath); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/empty.js": +/***/ "./node_modules/ramda/es/empty.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/empty.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52805,13 +52805,13 @@ var empty = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (empty); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/equals.js": +/***/ "./node_modules/ramda/es/equals.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/equals.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52850,13 +52850,13 @@ var equals = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (equals); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/evolve.js": +/***/ "./node_modules/ramda/es/evolve.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/evolve.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52910,13 +52910,13 @@ var evolve = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (evolve); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/filter.js": +/***/ "./node_modules/ramda/es/filter.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/filter.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -52975,13 +52975,13 @@ var filter = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["d })); /* harmony default export */ __webpack_exports__["default"] = (filter); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/find.js": +/***/ "./node_modules/ramda/es/find.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/find.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53028,13 +53028,13 @@ var find = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def })); /* harmony default export */ __webpack_exports__["default"] = (find); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/findIndex.js": +/***/ "./node_modules/ramda/es/findIndex.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/findIndex.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53080,13 +53080,13 @@ var findIndex = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ })); /* harmony default export */ __webpack_exports__["default"] = (findIndex); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/flatten.js": +/***/ "./node_modules/ramda/es/flatten.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/flatten.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53115,13 +53115,13 @@ __webpack_require__.r(__webpack_exports__); var flatten = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(/*#__PURE__*/(0,_internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(true)); /* harmony default export */ __webpack_exports__["default"] = (flatten); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/forEach.js": +/***/ "./node_modules/ramda/es/forEach.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/forEach.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53175,13 +53175,13 @@ var forEach = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__[" })); /* harmony default export */ __webpack_exports__["default"] = (forEach); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/forEachObjIndexed.js": +/***/ "./node_modules/ramda/es/forEachObjIndexed.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/forEachObjIndexed.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53224,13 +53224,13 @@ var forEachObjIndexed = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MO }); /* harmony default export */ __webpack_exports__["default"] = (forEachObjIndexed); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/groupBy.js": +/***/ "./node_modules/ramda/es/groupBy.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/groupBy.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53288,13 +53288,13 @@ var groupBy = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__[" }, []))); /* harmony default export */ __webpack_exports__["default"] = (groupBy); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/has.js": +/***/ "./node_modules/ramda/es/has.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/has.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53332,13 +53332,13 @@ var has = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (has); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/hasPath.js": +/***/ "./node_modules/ramda/es/hasPath.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/hasPath.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53388,13 +53388,13 @@ var hasPath = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (hasPath); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/identity.js": +/***/ "./node_modules/ramda/es/identity.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/identity.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53425,13 +53425,13 @@ __webpack_require__.r(__webpack_exports__); var identity = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_identity_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ __webpack_exports__["default"] = (identity); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/includes.js": +/***/ "./node_modules/ramda/es/includes.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/includes.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53465,13 +53465,13 @@ __webpack_require__.r(__webpack_exports__); var includes = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"]); /* harmony default export */ __webpack_exports__["default"] = (includes); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/indexOf.js": +/***/ "./node_modules/ramda/es/indexOf.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/indexOf.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53506,13 +53506,13 @@ var indexOf = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (indexOf); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/insert.js": +/***/ "./node_modules/ramda/es/insert.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/insert.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53546,13 +53546,13 @@ var insert = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (insert); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_Set.js": +/***/ "./node_modules/ramda/es/internal/_Set.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/internal/_Set.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53725,13 +53725,13 @@ function hasOrAdd(item, shouldAdd, set) { // A simple Set type that honours R.equals semantics /* harmony default export */ __webpack_exports__["default"] = (_Set); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_arity.js": +/***/ "./node_modules/ramda/es/internal/_arity.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_arity.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53790,13 +53790,13 @@ function _arity(n, fn) { } } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_arrayFromIterator.js": +/***/ "./node_modules/ramda/es/internal/_arrayFromIterator.js" /*!**************************************************************!*\ !*** ./node_modules/ramda/es/internal/_arrayFromIterator.js ***! \**************************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53812,13 +53812,13 @@ function _arrayFromIterator(iter) { return list; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_arrayReduce.js": +/***/ "./node_modules/ramda/es/internal/_arrayReduce.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_arrayReduce.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53835,13 +53835,13 @@ function _arrayReduce(reducer, acc, list) { return acc; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_assoc.js": +/***/ "./node_modules/ramda/es/internal/_assoc.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_assoc.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53879,13 +53879,13 @@ function _assoc(prop, val, obj) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_checkForMethod.js": +/***/ "./node_modules/ramda/es/internal/_checkForMethod.js" /*!***********************************************************!*\ !*** ./node_modules/ramda/es/internal/_checkForMethod.js ***! \***********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -53916,13 +53916,13 @@ function _checkForMethod(methodname, fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_clone.js": +/***/ "./node_modules/ramda/es/internal/_clone.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_clone.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54046,13 +54046,13 @@ var _ObjectMap = /*#__PURE__*/function () { return _ObjectMap; }(); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_cloneRegExp.js": +/***/ "./node_modules/ramda/es/internal/_cloneRegExp.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_cloneRegExp.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54063,13 +54063,13 @@ function _cloneRegExp(pattern) { return new RegExp(pattern.source, pattern.flags ? pattern.flags : (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : '') + (pattern.dotAll ? 's' : '')); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_complement.js": +/***/ "./node_modules/ramda/es/internal/_complement.js" /*!*******************************************************!*\ !*** ./node_modules/ramda/es/internal/_complement.js ***! \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54082,13 +54082,13 @@ function _complement(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_concat.js": +/***/ "./node_modules/ramda/es/internal/_concat.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_concat.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54126,13 +54126,13 @@ function _concat(set1, set2) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_createReduce.js": +/***/ "./node_modules/ramda/es/internal/_createReduce.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_createReduce.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54166,13 +54166,13 @@ function _createReduce(arrayReduce, methodReduce, iterableReduce) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_curry1.js": +/***/ "./node_modules/ramda/es/internal/_curry1.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_curry1.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54200,13 +54200,13 @@ function _curry1(fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_curry2.js": +/***/ "./node_modules/ramda/es/internal/_curry2.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_curry2.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54245,13 +54245,13 @@ function _curry2(fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_curry3.js": +/***/ "./node_modules/ramda/es/internal/_curry3.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_curry3.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54308,13 +54308,13 @@ function _curry3(fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_curryN.js": +/***/ "./node_modules/ramda/es/internal/_curryN.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_curryN.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54363,13 +54363,13 @@ function _curryN(length, received, fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_dispatchable.js": +/***/ "./node_modules/ramda/es/internal/_dispatchable.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_dispatchable.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54419,13 +54419,13 @@ function _dispatchable(methodNames, transducerCreator, fn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_dissoc.js": +/***/ "./node_modules/ramda/es/internal/_dissoc.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_dissoc.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54462,13 +54462,13 @@ function _dissoc(prop, obj) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_equals.js": +/***/ "./node_modules/ramda/es/internal/_equals.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_equals.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54615,13 +54615,13 @@ function _equals(a, b, stackA, stackB) { return true; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_filter.js": +/***/ "./node_modules/ramda/es/internal/_filter.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_filter.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54641,13 +54641,13 @@ function _filter(fn, list) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_functionName.js": +/***/ "./node_modules/ramda/es/internal/_functionName.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_functionName.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54660,13 +54660,13 @@ function _functionName(f) { return match == null ? '' : match[1]; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_has.js": +/***/ "./node_modules/ramda/es/internal/_has.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/internal/_has.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54677,13 +54677,13 @@ function _has(prop, obj) { return Object.prototype.hasOwnProperty.call(obj, prop); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_identity.js": +/***/ "./node_modules/ramda/es/internal/_identity.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_identity.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54694,13 +54694,13 @@ function _identity(x) { return x; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_includes.js": +/***/ "./node_modules/ramda/es/internal/_includes.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_includes.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54713,13 +54713,13 @@ function _includes(a, list) { return (0,_indexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list, a, 0) >= 0; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_includesWith.js": +/***/ "./node_modules/ramda/es/internal/_includesWith.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_includesWith.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54738,13 +54738,13 @@ function _includesWith(pred, x, list) { return false; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_indexOf.js": +/***/ "./node_modules/ramda/es/internal/_indexOf.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_indexOf.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54808,13 +54808,13 @@ function _indexOf(list, a, idx) { return -1; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isArguments.js": +/***/ "./node_modules/ramda/es/internal/_isArguments.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isArguments.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54830,13 +54830,13 @@ var _isArguments = /*#__PURE__*/function () { }(); /* harmony default export */ __webpack_exports__["default"] = (_isArguments); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isArray.js": +/***/ "./node_modules/ramda/es/internal/_isArray.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_isArray.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54856,13 +54856,13 @@ __webpack_require__.r(__webpack_exports__); return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]'; }); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isArrayLike.js": +/***/ "./node_modules/ramda/es/internal/_isArrayLike.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isArrayLike.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54915,13 +54915,13 @@ var _isArrayLike = /*#__PURE__*/(0,_curry1_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (_isArrayLike); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isFunction.js": +/***/ "./node_modules/ramda/es/internal/_isFunction.js" /*!*******************************************************!*\ !*** ./node_modules/ramda/es/internal/_isFunction.js ***! \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54933,13 +54933,13 @@ function _isFunction(x) { return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isInteger.js": +/***/ "./node_modules/ramda/es/internal/_isInteger.js" /*!******************************************************!*\ !*** ./node_modules/ramda/es/internal/_isInteger.js ***! \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54955,13 +54955,13 @@ __webpack_require__.r(__webpack_exports__); return n << 0 === n; }); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isObject.js": +/***/ "./node_modules/ramda/es/internal/_isObject.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_isObject.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54972,13 +54972,13 @@ function _isObject(x) { return Object.prototype.toString.call(x) === '[object Object]'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isPlaceholder.js": +/***/ "./node_modules/ramda/es/internal/_isPlaceholder.js" /*!**********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isPlaceholder.js ***! \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -54990,13 +54990,13 @@ function _isPlaceholder(a) { return a != null && _typeof(a) === 'object' && a['@@functional/placeholder'] === true; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isString.js": +/***/ "./node_modules/ramda/es/internal/_isString.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_isString.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55007,13 +55007,13 @@ function _isString(x) { return Object.prototype.toString.call(x) === '[object String]'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isTransformer.js": +/***/ "./node_modules/ramda/es/internal/_isTransformer.js" /*!**********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isTransformer.js ***! \**********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55024,13 +55024,13 @@ function _isTransformer(obj) { return obj != null && typeof obj['@@transducer/step'] === 'function'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_isTypedArray.js": +/***/ "./node_modules/ramda/es/internal/_isTypedArray.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_isTypedArray.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55056,13 +55056,13 @@ function _isTypedArray(val) { return type === '[object Uint8ClampedArray]' || type === '[object Int8Array]' || type === '[object Uint8Array]' || type === '[object Int16Array]' || type === '[object Uint16Array]' || type === '[object Int32Array]' || type === '[object Uint32Array]' || type === '[object Float32Array]' || type === '[object Float64Array]' || type === '[object BigInt64Array]' || type === '[object BigUint64Array]'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_makeFlat.js": +/***/ "./node_modules/ramda/es/internal/_makeFlat.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_makeFlat.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55102,13 +55102,13 @@ function _makeFlat(recursive) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_map.js": +/***/ "./node_modules/ramda/es/internal/_map.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/internal/_map.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55126,13 +55126,13 @@ function _map(fn, functor) { return result; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_nth.js": +/***/ "./node_modules/ramda/es/internal/_nth.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/internal/_nth.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55146,13 +55146,13 @@ function _nth(offset, list) { return (0,_isString_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list) ? list.charAt(idx) : list[idx]; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_objectAssign.js": +/***/ "./node_modules/ramda/es/internal/_objectAssign.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_objectAssign.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55182,13 +55182,13 @@ function _objectAssign(target) { } /* harmony default export */ __webpack_exports__["default"] = (typeof Object.assign === 'function' ? Object.assign : _objectAssign); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_objectIs.js": +/***/ "./node_modules/ramda/es/internal/_objectIs.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_objectIs.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55206,13 +55206,13 @@ function _objectIs(a, b) { } /* harmony default export */ __webpack_exports__["default"] = (typeof Object.is === 'function' ? Object.is : _objectIs); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_path.js": +/***/ "./node_modules/ramda/es/internal/_path.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/internal/_path.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55239,13 +55239,13 @@ function _path(pathAr, obj) { return val; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_quote.js": +/***/ "./node_modules/ramda/es/internal/_quote.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_quote.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55258,13 +55258,13 @@ function _quote(s) { return '"' + escaped.replace(/"/g, '\\"') + '"'; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_reduce.js": +/***/ "./node_modules/ramda/es/internal/_reduce.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_reduce.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55286,13 +55286,13 @@ function _methodReduce(reducer, acc, obj, methodName) { var _reduce = /*#__PURE__*/(0,_createReduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_arrayReduce_js__WEBPACK_IMPORTED_MODULE_0__["default"], _methodReduce, _iterableReduce); /* harmony default export */ __webpack_exports__["default"] = (_reduce); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_reduced.js": +/***/ "./node_modules/ramda/es/internal/_reduced.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_reduced.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55306,13 +55306,13 @@ function _reduced(x) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_toISOString.js": +/***/ "./node_modules/ramda/es/internal/_toISOString.js" /*!********************************************************!*\ !*** ./node_modules/ramda/es/internal/_toISOString.js ***! \********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55329,13 +55329,13 @@ var _toISOString = typeof Date.prototype.toISOString === 'function' ? function _ }; /* harmony default export */ __webpack_exports__["default"] = (_toISOString); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_toString.js": +/***/ "./node_modules/ramda/es/internal/_toString.js" /*!*****************************************************!*\ !*** ./node_modules/ramda/es/internal/_toString.js ***! \*****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55401,13 +55401,13 @@ function _toString(x, seen) { } } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xArrayReduce.js": +/***/ "./node_modules/ramda/es/internal/_xArrayReduce.js" /*!*********************************************************!*\ !*** ./node_modules/ramda/es/internal/_xArrayReduce.js ***! \*********************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55428,13 +55428,13 @@ function _xArrayReduce(xf, acc, list) { return xf['@@transducer/result'](acc); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xReduce.js": +/***/ "./node_modules/ramda/es/internal/_xReduce.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_xReduce.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55462,13 +55462,13 @@ function _xMethodReduce(xf, acc, obj, methodName) { var _xReduce = /*#__PURE__*/(0,_createReduce_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_xArrayReduce_js__WEBPACK_IMPORTED_MODULE_1__["default"], _xMethodReduce, _xIterableReduce); /* harmony default export */ __webpack_exports__["default"] = (_xReduce); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xall.js": +/***/ "./node_modules/ramda/es/internal/_xall.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/internal/_xall.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55507,13 +55507,13 @@ function _xall(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xany.js": +/***/ "./node_modules/ramda/es/internal/_xany.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/internal/_xany.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55552,13 +55552,13 @@ function _xany(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xfBase.js": +/***/ "./node_modules/ramda/es/internal/_xfBase.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/internal/_xfBase.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55571,13 +55571,13 @@ __webpack_require__.r(__webpack_exports__); } }); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xfilter.js": +/***/ "./node_modules/ramda/es/internal/_xfilter.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_xfilter.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55604,13 +55604,13 @@ function _xfilter(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xfind.js": +/***/ "./node_modules/ramda/es/internal/_xfind.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_xfind.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55649,13 +55649,13 @@ function _xfind(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xfindIndex.js": +/***/ "./node_modules/ramda/es/internal/_xfindIndex.js" /*!*******************************************************!*\ !*** ./node_modules/ramda/es/internal/_xfindIndex.js ***! \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55696,13 +55696,13 @@ function _xfindIndex(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xmap.js": +/***/ "./node_modules/ramda/es/internal/_xmap.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/internal/_xmap.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55727,13 +55727,13 @@ var _xmap = function _xmap(f) { }; /* harmony default export */ __webpack_exports__["default"] = (_xmap); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xreduceBy.js": +/***/ "./node_modules/ramda/es/internal/_xreduceBy.js" /*!******************************************************!*\ !*** ./node_modules/ramda/es/internal/_xreduceBy.js ***! \******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55783,13 +55783,13 @@ function _xreduceBy(valueFn, valueAcc, keyFn) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xtake.js": +/***/ "./node_modules/ramda/es/internal/_xtake.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_xtake.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55821,13 +55821,13 @@ function _xtake(n) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xuniqBy.js": +/***/ "./node_modules/ramda/es/internal/_xuniqBy.js" /*!****************************************************!*\ !*** ./node_modules/ramda/es/internal/_xuniqBy.js ***! \****************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55857,13 +55857,13 @@ function _xuniqBy(f) { }; } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/internal/_xwrap.js": +/***/ "./node_modules/ramda/es/internal/_xwrap.js" /*!**************************************************!*\ !*** ./node_modules/ramda/es/internal/_xwrap.js ***! \**************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55889,13 +55889,13 @@ function _xwrap(fn) { return new XWrap(fn); } -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/intersection.js": +/***/ "./node_modules/ramda/es/intersection.js" /*!***********************************************!*\ !*** ./node_modules/ramda/es/intersection.js ***! \***********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -55934,13 +55934,13 @@ var intersection = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_ }); /* harmony default export */ __webpack_exports__["default"] = (intersection); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/invoker.js": +/***/ "./node_modules/ramda/es/invoker.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/invoker.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56006,13 +56006,13 @@ var invoker = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (invoker); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/is.js": +/***/ "./node_modules/ramda/es/is.js" /*!*************************************!*\ !*** ./node_modules/ramda/es/is.js ***! \*************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56049,13 +56049,13 @@ var is = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defau }); /* harmony default export */ __webpack_exports__["default"] = (is); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/isEmpty.js": +/***/ "./node_modules/ramda/es/isEmpty.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/isEmpty.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56093,13 +56093,13 @@ var isEmpty = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (isEmpty); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/isNil.js": +/***/ "./node_modules/ramda/es/isNil.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/isNil.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56128,13 +56128,13 @@ var isNil = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (isNil); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/join.js": +/***/ "./node_modules/ramda/es/join.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/join.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56163,13 +56163,13 @@ __webpack_require__.r(__webpack_exports__); var join = /*#__PURE__*/(0,_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'join'); /* harmony default export */ __webpack_exports__["default"] = (join); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/juxt.js": +/***/ "./node_modules/ramda/es/juxt.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/juxt.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56202,13 +56202,13 @@ var juxt = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (juxt); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/keys.js": +/***/ "./node_modules/ramda/es/keys.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/keys.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56287,13 +56287,13 @@ var keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/( }); /* harmony default export */ __webpack_exports__["default"] = (keys); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/lens.js": +/***/ "./node_modules/ramda/es/lens.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/lens.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56336,13 +56336,13 @@ var lens = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (lens); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/lensPath.js": +/***/ "./node_modules/ramda/es/lensPath.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/lensPath.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56387,13 +56387,13 @@ var lensPath = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[ }); /* harmony default export */ __webpack_exports__["default"] = (lensPath); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/lt.js": +/***/ "./node_modules/ramda/es/lt.js" /*!*************************************!*\ !*** ./node_modules/ramda/es/lt.js ***! \*************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56426,13 +56426,13 @@ var lt = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defau }); /* harmony default export */ __webpack_exports__["default"] = (lt); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/map.js": +/***/ "./node_modules/ramda/es/map.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/map.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56503,13 +56503,13 @@ var map = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["defa })); /* harmony default export */ __webpack_exports__["default"] = (map); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mapObjIndexed.js": +/***/ "./node_modules/ramda/es/mapObjIndexed.js" /*!************************************************!*\ !*** ./node_modules/ramda/es/mapObjIndexed.js ***! \************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56549,13 +56549,13 @@ var mapObjIndexed = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE }); /* harmony default export */ __webpack_exports__["default"] = (mapObjIndexed); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/max.js": +/***/ "./node_modules/ramda/es/max.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/max.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56609,13 +56609,13 @@ var max = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (max); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/memoizeWith.js": +/***/ "./node_modules/ramda/es/memoizeWith.js" /*!**********************************************!*\ !*** ./node_modules/ramda/es/memoizeWith.js ***! \**********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56676,13 +56676,13 @@ var memoizeWith = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1 }); /* harmony default export */ __webpack_exports__["default"] = (memoizeWith); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeDeepRight.js": +/***/ "./node_modules/ramda/es/mergeDeepRight.js" /*!*************************************************!*\ !*** ./node_modules/ramda/es/mergeDeepRight.js ***! \*************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56719,13 +56719,13 @@ var mergeDeepRight = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODUL }); /* harmony default export */ __webpack_exports__["default"] = (mergeDeepRight); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeDeepWithKey.js": +/***/ "./node_modules/ramda/es/mergeDeepWithKey.js" /*!***************************************************!*\ !*** ./node_modules/ramda/es/mergeDeepWithKey.js ***! \***************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56775,13 +56775,13 @@ var mergeDeepWithKey = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MOD }); /* harmony default export */ __webpack_exports__["default"] = (mergeDeepWithKey); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeLeft.js": +/***/ "./node_modules/ramda/es/mergeLeft.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/mergeLeft.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56818,13 +56818,13 @@ var mergeLeft = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ }); /* harmony default export */ __webpack_exports__["default"] = (mergeLeft); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeRight.js": +/***/ "./node_modules/ramda/es/mergeRight.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/mergeRight.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56861,13 +56861,13 @@ var mergeRight = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1_ }); /* harmony default export */ __webpack_exports__["default"] = (mergeRight); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeWith.js": +/***/ "./node_modules/ramda/es/mergeWith.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/mergeWith.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56906,13 +56906,13 @@ var mergeWith = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ }); /* harmony default export */ __webpack_exports__["default"] = (mergeWith); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/mergeWithKey.js": +/***/ "./node_modules/ramda/es/mergeWithKey.js" /*!***********************************************!*\ !*** ./node_modules/ramda/es/mergeWithKey.js ***! \***********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -56965,13 +56965,13 @@ var mergeWithKey = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_ }); /* harmony default export */ __webpack_exports__["default"] = (mergeWithKey); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/omit.js": +/***/ "./node_modules/ramda/es/omit.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/omit.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57012,13 +57012,13 @@ var omit = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (omit); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/once.js": +/***/ "./node_modules/ramda/es/once.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/once.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57060,13 +57060,13 @@ var once = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["def }); /* harmony default export */ __webpack_exports__["default"] = (once); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/over.js": +/***/ "./node_modules/ramda/es/over.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/over.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57116,13 +57116,13 @@ var over = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (over); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/partition.js": +/***/ "./node_modules/ramda/es/partition.js" /*!********************************************!*\ !*** ./node_modules/ramda/es/partition.js ***! \********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57160,13 +57160,13 @@ __webpack_require__.r(__webpack_exports__); var partition = /*#__PURE__*/(0,_juxt_js__WEBPACK_IMPORTED_MODULE_1__["default"])([_filter_js__WEBPACK_IMPORTED_MODULE_0__["default"], _reject_js__WEBPACK_IMPORTED_MODULE_2__["default"]]); /* harmony default export */ __webpack_exports__["default"] = (partition); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/path.js": +/***/ "./node_modules/ramda/es/path.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/path.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57203,13 +57203,13 @@ __webpack_require__.r(__webpack_exports__); var path = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_path_js__WEBPACK_IMPORTED_MODULE_1__["default"]); /* harmony default export */ __webpack_exports__["default"] = (path); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/pathOr.js": +/***/ "./node_modules/ramda/es/pathOr.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/pathOr.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57244,13 +57244,13 @@ var pathOr = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (pathOr); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/pick.js": +/***/ "./node_modules/ramda/es/pick.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/pick.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57288,13 +57288,13 @@ var pick = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (pick); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/pickBy.js": +/***/ "./node_modules/ramda/es/pickBy.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/pickBy.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57332,13 +57332,13 @@ var pickBy = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (pickBy); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/pluck.js": +/***/ "./node_modules/ramda/es/pluck.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/pluck.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57381,13 +57381,13 @@ var pluck = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (pluck); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/prepend.js": +/***/ "./node_modules/ramda/es/prepend.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/prepend.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57418,13 +57418,13 @@ var prepend = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__[" }); /* harmony default export */ __webpack_exports__["default"] = (prepend); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/prop.js": +/***/ "./node_modules/ramda/es/prop.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/prop.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57465,13 +57465,13 @@ var prop = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (prop); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/propEq.js": +/***/ "./node_modules/ramda/es/propEq.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/propEq.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57514,13 +57514,13 @@ var propEq = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (propEq); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/props.js": +/***/ "./node_modules/ramda/es/props.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/props.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57557,13 +57557,13 @@ var props = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["de }); /* harmony default export */ __webpack_exports__["default"] = (props); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/reduce.js": +/***/ "./node_modules/ramda/es/reduce.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/reduce.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57631,13 +57631,13 @@ var reduce = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (reduce); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/reduceBy.js": +/***/ "./node_modules/ramda/es/reduceBy.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/reduceBy.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57716,13 +57716,13 @@ var reduceBy = /*#__PURE__*/(0,_internal_curryN_js__WEBPACK_IMPORTED_MODULE_1__[ })); /* harmony default export */ __webpack_exports__["default"] = (reduceBy); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/reject.js": +/***/ "./node_modules/ramda/es/reject.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/reject.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57762,13 +57762,13 @@ var reject = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["d }); /* harmony default export */ __webpack_exports__["default"] = (reject); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/remove.js": +/***/ "./node_modules/ramda/es/remove.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/remove.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57802,13 +57802,13 @@ var remove = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (remove); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/reverse.js": +/***/ "./node_modules/ramda/es/reverse.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/reverse.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57846,13 +57846,13 @@ var reverse = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (reverse); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/set.js": +/***/ "./node_modules/ramda/es/set.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/set.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57890,13 +57890,13 @@ var set = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (set); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/slice.js": +/***/ "./node_modules/ramda/es/slice.js" /*!****************************************!*\ !*** ./node_modules/ramda/es/slice.js ***! \****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57934,13 +57934,13 @@ var slice = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["de })); /* harmony default export */ __webpack_exports__["default"] = (slice); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/sort.js": +/***/ "./node_modules/ramda/es/sort.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/sort.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -57973,13 +57973,13 @@ var sort = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (sort); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/startsWith.js": +/***/ "./node_modules/ramda/es/startsWith.js" /*!*********************************************!*\ !*** ./node_modules/ramda/es/startsWith.js ***! \*********************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58017,13 +58017,13 @@ var startsWith = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0_ }); /* harmony default export */ __webpack_exports__["default"] = (startsWith); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/take.js": +/***/ "./node_modules/ramda/es/take.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/take.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58084,13 +58084,13 @@ var take = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def })); /* harmony default export */ __webpack_exports__["default"] = (take); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/toPairs.js": +/***/ "./node_modules/ramda/es/toPairs.js" /*!******************************************!*\ !*** ./node_modules/ramda/es/toPairs.js ***! \******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58128,13 +58128,13 @@ var toPairs = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[" }); /* harmony default export */ __webpack_exports__["default"] = (toPairs); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/toString.js": +/***/ "./node_modules/ramda/es/toString.js" /*!*******************************************!*\ !*** ./node_modules/ramda/es/toString.js ***! \*******************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58184,13 +58184,13 @@ var toString = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__[ }); /* harmony default export */ __webpack_exports__["default"] = (toString); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/type.js": +/***/ "./node_modules/ramda/es/type.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/type.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58229,13 +58229,13 @@ var type = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (type); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/uniq.js": +/***/ "./node_modules/ramda/es/uniq.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/uniq.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58264,13 +58264,13 @@ __webpack_require__.r(__webpack_exports__); var uniq = /*#__PURE__*/(0,_uniqBy_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_identity_js__WEBPACK_IMPORTED_MODULE_0__["default"]); /* harmony default export */ __webpack_exports__["default"] = (uniq); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/uniqBy.js": +/***/ "./node_modules/ramda/es/uniqBy.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/uniqBy.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58320,13 +58320,13 @@ var uniqBy = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["d })); /* harmony default export */ __webpack_exports__["default"] = (uniqBy); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/values.js": +/***/ "./node_modules/ramda/es/values.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/values.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58365,13 +58365,13 @@ var values = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (values); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/view.js": +/***/ "./node_modules/ramda/es/view.js" /*!***************************************!*\ !*** ./node_modules/ramda/es/view.js ***! \***************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58416,13 +58416,13 @@ var view = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def }); /* harmony default export */ __webpack_exports__["default"] = (view); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/zip.js": +/***/ "./node_modules/ramda/es/zip.js" /*!**************************************!*\ !*** ./node_modules/ramda/es/zip.js ***! \**************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58460,13 +58460,13 @@ var zip = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["defa }); /* harmony default export */ __webpack_exports__["default"] = (zip); -/***/ }), +/***/ }, -/***/ "./node_modules/ramda/es/zipObj.js": +/***/ "./node_modules/ramda/es/zipObj.js" /*!*****************************************!*\ !*** ./node_modules/ramda/es/zipObj.js ***! \*****************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -58502,13 +58502,13 @@ var zipObj = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d }); /* harmony default export */ __webpack_exports__["default"] = (zipObj); -/***/ }), +/***/ }, -/***/ "./node_modules/cytoscape/dist/cytoscape.esm.mjs": +/***/ "./node_modules/cytoscape/dist/cytoscape.esm.mjs" /*!*******************************************************!*\ !*** ./node_modules/cytoscape/dist/cytoscape.esm.mjs ***! \*******************************************************/ -/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { +(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); @@ -94223,7 +94223,7 @@ cytoscape.stylesheet = cytoscape.Stylesheet = _Stylesheet; -/***/ }) +/***/ } /******/ }); /************************************************************************/ diff --git a/dash/dash-renderer/build/dash_renderer.min.js b/dash/dash-renderer/build/dash_renderer.min.js index c239a9a8f1..8a67f3902f 100644 --- a/dash/dash-renderer/build/dash_renderer.min.js +++ b/dash/dash-renderer/build/dash_renderer.min.js @@ -1,2 +1,2 @@ /*! For license information please see dash_renderer.min.js.LICENSE.txt */ -!function(){var t={296:function(t,e,r){var n;window,t.exports=(n=r(609),function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e){t.exports=n},function(t,e,r){"use strict";r.r(e),r.d(e,"asyncDecorator",function(){return a}),r.d(e,"inheritAsyncDecorator",function(){return u}),r.d(e,"isReady",function(){return c}),r.d(e,"History",function(){return f});var n=r(0);function o(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var a=t.apply(e,r);function u(t){o(a,n,i,u,c,"next",t)}function c(t){o(a,n,i,u,c,"throw",t)}u(void 0)})}}var a=function(t,e){var r,o={isReady:new Promise(function(t){r=t}),get:Object(n.lazy)(function(){return Promise.resolve(e()).then(function(t){return setTimeout(i(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r(!0);case 2:o.isReady=!0;case 3:case"end":return t.stop()}},t)})),0),t})})};return Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},u=function(t,e){Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return c(e)}})},c=function(t){return t&&t._dashprivate_isLazyComponentReady};function s(t,e){for(var r=0;r=19&&Symbol.for("react.element")!==Symbol.for("react.transitional.element")){var r=Symbol.for("react.transitional.element"),n=Symbol.for;Symbol.for=function(t){return"react.element"===t?r:n.apply(Symbol,arguments)}}window.ReactJSXRuntime||(window.ReactJSXRuntime={jsx:o,jsxs:o,jsxDEV:o,Fragment:t.Fragment})}function o(e,r,n){var o={},i=null;if(null!=r)for(var a in void 0!==r.key&&(o.key=""+r.key),r)Object.prototype.hasOwnProperty.call(r,a)&&"key"!==a&&"__self"!==a&&"__source"!==a&&("children"===a?i=r[a]:o[a]=r[a]);return void 0!==n&&(o.key=""+n),null!=i?Array.isArray(i)?t.createElement.apply(t,[e,o].concat(i)):t.createElement(e,o,i):t.createElement(e,o)}}()},217:function(t,e,r){"use strict";var n=r(601),o=r.n(n),i=r(314),a=r.n(i)()(o());a.push([t.id,"._dash-undo-redo {\n position: fixed;\n bottom: 30px;\n left: 30px;\n font-size: 20px;\n text-align: center;\n z-index: 9999;\n background-color: rgba(255, 255, 255, 0.9);\n}\n._dash-undo-redo > div {\n position: relative;\n}\n._dash-undo-redo-link {\n color: #0074d9;\n cursor: pointer;\n margin-left: 10px;\n margin-right: 10px;\n display: inline-block;\n opacity: 0.2;\n}\n._dash-undo-redo-link:hover {\n opacity: 1;\n}\n._dash-undo-redo-link ._dash-icon-undo {\n font-size: 20px;\n transform: rotate(270deg);\n}\n._dash-undo-redo-link ._dash-icon-redo {\n font-size: 20px;\n transform: rotate(90deg);\n}\n._dash-undo-redo-link ._dash-undo-redo-label {\n font-size: 15px;\n}\n",""]),e.A=a},314:function(t){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r="",n=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),n&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r}).join("")},e.i=function(t,r,n,o,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(n)for(var u=0;u0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=i),r&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=r):l[2]=r),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},601:function(t){"use strict";t.exports=function(t){return t[1]}},131:function(t,e){function r(t,e,r,n){var i={};return function(a){if(!i[a]){var u={},c=[],s=[];for(s.push({node:a,processed:!1});s.length>0;){var l=s[s.length-1],f=l.processed,p=l.node;if(f)s.pop(),c.pop(),u[p]=!1,i[p]=!0,e&&0!==t[p].length||r.push(p);else{if(i[p]){s.pop();continue}if(u[p]){if(n){s.pop();continue}throw c.push(p),new o(c)}u[p]=!0,c.push(p);for(var d=t[p],y=d.length-1;y>=0;y--)s.push({node:d[y],processed:!1});l.processed=!0}}}}}var n=e.DepGraph=function(t){this.nodes={},this.outgoingEdges={},this.incomingEdges={},this.circular=t&&!!t.circular};n.prototype={size:function(){return Object.keys(this.nodes).length},addNode:function(t,e){this.hasNode(t)||(this.nodes[t]=2===arguments.length?e:t,this.outgoingEdges[t]=[],this.incomingEdges[t]=[])},removeNode:function(t){this.hasNode(t)&&(delete this.nodes[t],delete this.outgoingEdges[t],delete this.incomingEdges[t],[this.incomingEdges,this.outgoingEdges].forEach(function(e){Object.keys(e).forEach(function(r){var n=e[r].indexOf(t);n>=0&&e[r].splice(n,1)},this)}))},hasNode:function(t){return this.nodes.hasOwnProperty(t)},getNodeData:function(t){if(this.hasNode(t))return this.nodes[t];throw new Error("Node does not exist: "+t)},setNodeData:function(t,e){if(!this.hasNode(t))throw new Error("Node does not exist: "+t);this.nodes[t]=e},addDependency:function(t,e){if(!this.hasNode(t))throw new Error("Node does not exist: "+t);if(!this.hasNode(e))throw new Error("Node does not exist: "+e);return-1===this.outgoingEdges[t].indexOf(e)&&this.outgoingEdges[t].push(e),-1===this.incomingEdges[e].indexOf(t)&&this.incomingEdges[e].push(t),!0},removeDependency:function(t,e){var r;this.hasNode(t)&&(r=this.outgoingEdges[t].indexOf(e))>=0&&this.outgoingEdges[t].splice(r,1),this.hasNode(e)&&(r=this.incomingEdges[e].indexOf(t))>=0&&this.incomingEdges[e].splice(r,1)},clone:function(){var t=this,e=new n;return Object.keys(t.nodes).forEach(function(r){e.nodes[r]=t.nodes[r],e.outgoingEdges[r]=t.outgoingEdges[r].slice(0),e.incomingEdges[r]=t.incomingEdges[r].slice(0)}),e},directDependenciesOf:function(t){if(this.hasNode(t))return this.outgoingEdges[t].slice(0);throw new Error("Node does not exist: "+t)},directDependantsOf:function(t){if(this.hasNode(t))return this.incomingEdges[t].slice(0);throw new Error("Node does not exist: "+t)},dependenciesOf:function(t,e){if(this.hasNode(t)){var n=[];r(this.outgoingEdges,e,n,this.circular)(t);var o=n.indexOf(t);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+t)},dependantsOf:function(t,e){if(this.hasNode(t)){var n=[];r(this.incomingEdges,e,n,this.circular)(t);var o=n.indexOf(t);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+t)},overallOrder:function(t){var e=this,n=[],o=Object.keys(this.nodes);if(0===o.length)return n;if(!this.circular){var i=r(this.outgoingEdges,!1,[],this.circular);o.forEach(function(t){i(t)})}var a=r(this.outgoingEdges,t,n,this.circular);return o.filter(function(t){return 0===e.incomingEdges[t].length}).forEach(function(t){a(t)}),this.circular&&o.filter(function(t){return-1===n.indexOf(t)}).forEach(function(t){a(t)}),n},entryNodes:function(){var t=this;return Object.keys(this.nodes).filter(function(e){return 0===t.incomingEdges[e].length})}},n.prototype.directDependentsOf=n.prototype.directDependantsOf,n.prototype.dependentsOf=n.prototype.dependantsOf;var o=e.DepGraphCycleError=function(t){var e="Dependency Cycle Found: "+t.join(" -> "),r=new Error(e);return r.cyclePath=t,Object.setPrototypeOf(r,Object.getPrototypeOf(this)),Error.captureStackTrace&&Error.captureStackTrace(r,o),r};o.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(o,Error)},886:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},799:function(t,e){"use strict";var r="function"==typeof Symbol&&Symbol.for,n=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,a=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,s=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,d=r?Symbol.for("react.suspense"):60113,y=r?Symbol.for("react.suspense_list"):60120,h=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116,b=r?Symbol.for("react.block"):60121,m=r?Symbol.for("react.fundamental"):60117,g=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function O(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case n:switch(t=t.type){case l:case f:case i:case u:case a:case d:return t;default:switch(t=t&&t.$$typeof){case s:case p:case v:case h:case c:return t;default:return e}}case o:return e}}}function S(t){return O(t)===f}e.AsyncMode=l,e.ConcurrentMode=f,e.ContextConsumer=s,e.ContextProvider=c,e.Element=n,e.ForwardRef=p,e.Fragment=i,e.Lazy=v,e.Memo=h,e.Portal=o,e.Profiler=u,e.StrictMode=a,e.Suspense=d,e.isAsyncMode=function(t){return S(t)||O(t)===l},e.isConcurrentMode=S,e.isContextConsumer=function(t){return O(t)===s},e.isContextProvider=function(t){return O(t)===c},e.isElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===n},e.isForwardRef=function(t){return O(t)===p},e.isFragment=function(t){return O(t)===i},e.isLazy=function(t){return O(t)===v},e.isMemo=function(t){return O(t)===h},e.isPortal=function(t){return O(t)===o},e.isProfiler=function(t){return O(t)===u},e.isStrictMode=function(t){return O(t)===a},e.isSuspense=function(t){return O(t)===d},e.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===i||t===f||t===u||t===a||t===d||t===y||"object"==typeof t&&null!==t&&(t.$$typeof===v||t.$$typeof===h||t.$$typeof===c||t.$$typeof===s||t.$$typeof===p||t.$$typeof===m||t.$$typeof===g||t.$$typeof===w||t.$$typeof===b)},e.typeOf=O},363:function(t,e,r){"use strict";t.exports=r(799)},609:function(t){"use strict";t.exports=window.React}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={id:n,exports:{}};return t[n](i,i.exports,r),i.exports}r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.cw=function(t){var e;return function(){if(t){var r=t;t=0,e={exports:{}},r.call(e.exports,e,e.exports)}return e.exports}},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.nc=void 0,function(){"use strict";var t="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==r.g&&r.g||{},e="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,a="ArrayBuffer"in t;if(a)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(t){return t&&u.indexOf(Object.prototype.toString.call(t))>-1};function s(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function l(t){return"string"!=typeof t&&(t=String(t)),t}function f(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function p(t){this.map={},t instanceof p?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function d(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function y(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function h(t){var e=new FileReader,r=y(e);return e.readAsArrayBuffer(t),r}function v(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(t){var r;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():a&&o&&(r=t)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=v(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(t)||c(t))?this._bodyArrayBuffer=v(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=d(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer)return d(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer));if(o)return this.blob().then(h);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,n,o,i=d(this);if(i)return i;if(this._bodyBlob)return t=this._bodyBlob,r=y(e=new FileReader),o=(n=/charset=([A-Za-z0-9_-]+)/.exec(t.type))?n[1]:"utf-8",e.readAsText(t,o),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?o:n),this.mode=r.mode||this.mode||null,this.signal=r.signal||this.signal||function(){if("AbortController"in t)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(i),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==r.cache&&"no-cache"!==r.cache)){var a=/([?&])_=[^&]*/;a.test(this.url)?this.url=this.url.replace(a,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function w(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function O(t,e){if(!(this instanceof O))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new p(e.headers),this.url=e.url||"",this._initBody(t)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},b.call(g.prototype),b.call(O.prototype),O.prototype.clone=function(){return new O(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},O.error=function(){var t=new O(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var S=[301,302,303,307,308];O.redirect=function(t,e){if(-1===S.indexOf(e))throw new RangeError("Invalid status code");return new O(null,{status:e,headers:{location:t}})};var j=t.DOMException;try{new j}catch(t){(j=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),j.prototype.constructor=j}function _(e,r){return new Promise(function(n,i){var u=new g(e,r);if(u.signal&&u.signal.aborted)return i(new j("Aborted","AbortError"));var c=new XMLHttpRequest;function f(){c.abort()}if(c.onload=function(){var t,e,r={statusText:c.statusText,headers:(t=c.getAllResponseHeaders()||"",e=new p,t.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t}).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();try{e.append(n,o)}catch(t){console.warn("Response "+t.message)}}}),e)};0===u.url.indexOf("file://")&&(c.status<200||c.status>599)?r.status=200:r.status=c.status,r.url="responseURL"in c?c.responseURL:r.headers.get("X-Request-URL");var o="response"in c?c.response:c.responseText;setTimeout(function(){n(new O(o,r))},0)},c.onerror=function(){setTimeout(function(){i(new TypeError("Network request failed"))},0)},c.ontimeout=function(){setTimeout(function(){i(new TypeError("Network request timed out"))},0)},c.onabort=function(){setTimeout(function(){i(new j("Aborted","AbortError"))},0)},c.open(u.method,function(e){try{return""===e&&t.location.href?t.location.href:e}catch(t){return e}}(u.url),!0),"include"===u.credentials?c.withCredentials=!0:"omit"===u.credentials&&(c.withCredentials=!1),"responseType"in c&&(o?c.responseType="blob":a&&(c.responseType="arraybuffer")),r&&"object"==typeof r.headers&&!(r.headers instanceof p||t.Headers&&r.headers instanceof t.Headers)){var d=[];Object.getOwnPropertyNames(r.headers).forEach(function(t){d.push(s(t)),c.setRequestHeader(t,l(r.headers[t]))}),u.headers.forEach(function(t,e){-1===d.indexOf(e)&&c.setRequestHeader(e,t)})}else u.headers.forEach(function(t,e){c.setRequestHeader(e,t)});u.signal&&(u.signal.addEventListener("abort",f),c.onreadystatechange=function(){4===c.readyState&&u.signal.removeEventListener("abort",f)}),c.send(void 0===u._bodyInit?null:u._bodyInit)})}_.polyfill=!0,t.fetch||(t.fetch=_,t.Headers=p,t.Request=g,t.Response=O)}(),function(){"use strict";var t=r.cw(function(t,e){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var n=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.server_context"),f=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),h=Symbol.for("react.lazy");Symbol.for("react.offscreen");Symbol.for("react.module.reference"),e.isContextConsumer=function(t){return function(t){if("object"===r(t)&&null!==t){var e=t.$$typeof;switch(e){case n:switch(t=t.type){case i:case u:case a:case p:case d:return t;default:switch(t=t&&t.$$typeof){case l:case s:case f:case h:case y:case c:return t;default:return e}}case o:return e}}}(t)===s}}),e=r.cw(function(e,r){e.exports=t()}),n=r.cw(function(t,e){var r=a();t.exports=function(t){var e=typeof t;if("string"===e){var n=t;if(0===(t=+t)&&r(n))return!1}else if("number"!==e)return!1;return t-t<1}}),o=r.cw(function(t,e){var r=c(),n={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},a={};function u(t){return r.isMemo(t)?i:a[t.$$typeof]||n}a[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a[r.Memo]=i;var s=Object.defineProperty,l=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,y=Object.prototype;t.exports=function t(e,r,n){if("string"!=typeof r){if(y){var i=d(r);i&&i!==y&&t(e,i,n)}var a=l(r);f&&(a=a.concat(f(r)));for(var c=u(e),h=u(r),v=0;v0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}}),y=r.cw(function(t,e){t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}),h=r.cw(function(t,e){var r=g(),n="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},o=r.useState,i=r.useEffect,a=r.useLayoutEffect,u=r.useDebugValue;function c(t){var e=t.getSnapshot;t=t.value;try{var r=e();return!n(t,r)}catch(t){return!0}}var s="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(t,e){return e()}:function(t,e){var r=e(),n=o({inst:{value:r,getSnapshot:e}}),s=n[0].inst,l=n[1];return a(function(){s.value=r,s.getSnapshot=e,c(s)&&l({inst:s})},[t,r,e]),i(function(){return c(s)&&l({inst:s}),t(function(){c(s)&&l({inst:s})})},[t]),u(r),r};e.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:s}),v=r.cw(function(t,e){var r=g(),n=b(),o="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},i=n.useSyncExternalStore,a=r.useRef,u=r.useEffect,c=r.useMemo,s=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(t,e,r,n,l){var f=a(null);if(null===f.current){var p={hasValue:!1,value:null};f.current=p}else p=f.current;f=c(function(){function t(t){if(!u){if(u=!0,i=t,t=n(t),void 0!==l&&p.hasValue){var e=p.value;if(l(e,t))return a=e}return a=t}if(e=a,o(i,t))return e;var r=n(t);return void 0!==l&&l(e,r)?(i=t,e):(i=t,a=r)}var i,a,u=!1,c=void 0===r?null:r;return[function(){return t(e())},null===c?void 0:function(){return t(c())}]},[e,r,n,l]);var d=i(t,f[0],f[1]);return u(function(){p.hasValue=!0,p.value=d},[d]),s(d),d}}),b=r.cw(function(t,e){t.exports=h()}),m=r.cw(function(t,e){t.exports=v()}),g=function(){return r(609)};function w(){return w.c||(w.c=r.n(g()))}r(186),g();var O=window.ReactDOM,S=r.n(O),j=window.PropTypes,_=r.n(j);b(),m();var E=function(t){t()},P=function(){return E},k=Symbol.for("react-redux-context"),A="undefined"!=typeof globalThis?globalThis:{};function T(){var t;if(!g().createContext)return{};var e=null!=(t=A[k])?t:A[k]=new Map,r=e.get(g().createContext);return r||(r=g().createContext(null),e.set(g().createContext,r)),r}var x=T();function I(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x;return function(){return(0,g().useContext)(t)}}var C=I(),R=function(){throw new Error("uSES not initialized!")},D=R,N=function(t,e){return t===e};function M(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?C:I(t);return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="function"==typeof r?{equalityFn:r}:r,o=n.equalityFn,i=void 0===o?N:o,a=n.stabilityCheck,u=void 0===a?void 0:a;n.noopCheck;var c=e(),s=c.store,l=c.subscription,f=c.getServerState,p=c.stabilityCheck,d=(c.noopCheck,(0,g().useRef)(!0),(0,g().useCallback)({[t.name]:e=>t(e)}[t.name],[t,p,u])),y=D(l.addNestedSub,s.getState,f||s.getState,d,i);return(0,g().useDebugValue)(y),y}}var U=M();function q(){return q=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]?arguments[3]:{},i=(o.pure,o.areStatesEqual),a=void 0===i?st:i,u=o.areOwnPropsEqual,c=void 0===u?et:u,s=o.areStatePropsEqual,l=void 0===s?et:s,f=o.areMergedPropsEqual,p=void 0===f?et:f,d=o.forwardRef,y=void 0!==d&&d,h=o.context,v=void 0===h?x:h,b=function(t){return t?"function"==typeof t?$(t):z(t,"mapStateToProps"):H(function(){return{}})}(e),m=function(t){return t&&"object"===V(t)?H(function(e){return function(t,e){var r={},n=function(){var n=t[o];"function"==typeof n&&(r[o]=function(){return e(n.apply(void 0,arguments))})};for(var o in t)n();return r}(t,e)}):t?"function"==typeof t?$(t):z(t,"mapDispatchToProps"):H(function(t){return{dispatch:t}})}(r),w=function(t){return t?"function"==typeof t?function(t){return function(e,r){r.displayName;var n,o=r.areMergedPropsEqual,i=!1;return function(e,r,a){var u=t(e,r,a);return i?o(u,n)||(n=u):(i=!0,n=u),n}}}(t):z(t,"mergeProps"):function(){return K}}(n),O=Boolean(e);return function(e){var r=e.displayName||e.name||"Component",n="Connect(".concat(r,")"),o={shouldHandleStateChanges:O,displayName:n,wrappedComponentName:r,WrappedComponent:e,initMapStateToProps:b,initMapDispatchToProps:m,initMergeProps:w,areStatesEqual:a,areStatePropsEqual:l,areOwnPropsEqual:c,areMergedPropsEqual:p};function i(r){var n=g().useMemo(function(){var t=r.reactReduxForwardedRef,e=L(r,it);return[r.context,t,e]},[r]),i=rt(n,3),a=i[0],u=i[1],c=i[2],s=g().useMemo(function(){return a&&a.Consumer&&(0,t().isContextConsumer)(g().createElement(a.Consumer,null))?a:v},[a,v]),l=g().useContext(s),f=Boolean(r.store)&&Boolean(r.store.getState)&&Boolean(r.store.dispatch),p=Boolean(l)&&Boolean(l.store),d=f?r.store:l.store,y=p?l.getServerState:d.getState,h=g().useMemo(function(){return function(t,e){var r=e.initMapStateToProps,n=e.initMapDispatchToProps,o=e.initMergeProps,i=L(e,F);return B(r(t,i),n(t,i),o(t,i),t,i)}(d.dispatch,o)},[d]),b=g().useMemo(function(){if(!O)return ut;var t=Q(d,f?void 0:l.subscription),e=t.notifyNestedSubs.bind(t);return[t,e]},[d,f,l]),m=rt(b,2),w=m[0],S=m[1],j=g().useMemo(function(){return f?l:q({},l,{subscription:w})},[f,l,w]),_=g().useRef(),E=g().useRef(c),P=g().useRef(),k=g().useRef(!1),A=(g().useRef(!1),g().useRef(!1)),T=g().useRef();X(function(){return A.current=!0,function(){A.current=!1}},[]);var x,I,C,R=g().useMemo(function(){return function(){return P.current&&c===E.current?P.current:h(d.getState(),c)}},[d,c]),D=g().useMemo(function(){return function(t){return w?function(t,e,r,n,o,i,a,u,c,s,l){if(!t)return function(){};var f=!1,p=null,d=function(){if(!f&&u.current){var t,r,d=e.getState();try{t=n(d,o.current)}catch(t){r=t,p=t}r||(p=null),t===i.current?a.current||s():(i.current=t,c.current=t,a.current=!0,l())}};return r.onStateChange=d,r.trySubscribe(),d(),function(){if(f=!0,r.tryUnsubscribe(),r.onStateChange=null,p)throw p}}(O,d,w,h,E,_,k,A,P,S,t):function(){}}},[w]);x=ct,I=[E,_,k,c,P,S],X(function(){return x.apply(void 0,function(t){if(Array.isArray(t))return ot(t)}(t=I)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||nt(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var t},void 0);try{C=at(D,R,y?function(){return h(y(),c)}:R)}catch(t){throw T.current&&(t.message+="\nThe error may be correlated with this previous error:\n".concat(T.current.stack,"\n\n")),t}X(function(){T.current=void 0,P.current=void 0,_.current=C});var N=g().useMemo(function(){return g().createElement(e,q({},C,{ref:u}))},[u,e,C]);return g().useMemo(function(){return O?g().createElement(s.Provider,{value:j},N):N},[s,N,j])}var u=g().memo(i);if(u.WrappedComponent=e,u.displayName=i.displayName=n,y){var s=g().forwardRef(function(t,e){return g().createElement(u,q({},t,{reactReduxForwardedRef:e}))});return s.displayName=n,s.WrappedComponent=e,G()()(s,e)}return G()()(u,e)}},ft=function(t){var e=t.store,r=t.context,n=t.children,o=t.serverState,i=t.stabilityCheck,a=void 0===i?"once":i,u=t.noopCheck,c=void 0===u?"once":u,s=g().useMemo(function(){var t=Q(e);return{store:e,subscription:t,getServerState:o?function(){return o}:void 0,stabilityCheck:a,noopCheck:c}},[e,o,a,c]),l=g().useMemo(function(){return e.getState()},[e]);X(function(){var t=s.subscription;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),l!==e.getState()&&t.notifyNestedSubs(),function(){t.tryUnsubscribe(),t.onStateChange=void 0}},[s,l]);var f=r||x;return g().createElement(f.Provider,{value:s},n)};function pt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?C:I(t);return function(){return e().store}}var dt=pt();function yt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?dt:pt(t);return function(){return e().dispatch}}var ht,vt,bt=yt();function mt(t,e){switch(t){case 0:return function(){return e.apply(this,arguments)};case 1:return function(t){return e.apply(this,arguments)};case 2:return function(t,r){return e.apply(this,arguments)};case 3:return function(t,r,n){return e.apply(this,arguments)};case 4:return function(t,r,n,o){return e.apply(this,arguments)};case 5:return function(t,r,n,o,i){return e.apply(this,arguments)};case 6:return function(t,r,n,o,i,a){return e.apply(this,arguments)};case 7:return function(t,r,n,o,i,a,u){return e.apply(this,arguments)};case 8:return function(t,r,n,o,i,a,u,c){return e.apply(this,arguments)};case 9:return function(t,r,n,o,i,a,u,c,s){return e.apply(this,arguments)};case 10:return function(t,r,n,o,i,a,u,c,s,l){return e.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}function wt(t){return null!=t&&"object"===gt(t)&&!0===t["@@functional/placeholder"]}function Ot(t){return function e(r){return 0===arguments.length||wt(r)?e:t.apply(this,arguments)}}ht=v().useSyncExternalStoreWithSelector,D=ht,function(t){at=t}(h().useSyncExternalStore),vt=O.unstable_batchedUpdates,E=vt;var St=Ot(function(t){var e,r=!1;return mt(t.length,function(){return r?e:(r=!0,e=t.apply(this,arguments))})}),jt=St;function _t(t){return _t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_t(t)}function Et(t,e,r){return(e=function(t){var e=function(t){if("object"!=_t(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=_t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==_t(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Pt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function kt(t){for(var e=1;e=0;)Ft(e=zt[r],t)&&!Kt(n,e)&&(n[n.length]=e),r-=1;return n}):Ot(function(t){return Object(t)!==t?[]:Object.keys(t)}),Qt=Ot(function(t){return null===t?"Null":void 0===t?"Undefined":Object.prototype.toString.call(t).slice(8,-1)});function Xt(t){return Xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xt(t)}function Zt(t,e,r,n){var o=Lt(t);function i(t,e){return te(t,e,r.slice(),n.slice())}return!Gt(function(t,e){return!Gt(i,e,t)},Lt(e),o)}function te(t,e,r,n){if(Bt(t,e))return!0;var o,i,a=Qt(t);if(a!==Qt(e))return!1;if("function"==typeof t["fantasy-land/equals"]||"function"==typeof e["fantasy-land/equals"])return"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e)&&"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t);if("function"==typeof t.equals||"function"==typeof e.equals)return"function"==typeof t.equals&&t.equals(e)&&"function"==typeof e.equals&&e.equals(t);switch(a){case"Arguments":case"Array":case"Object":if("function"==typeof t.constructor&&"Promise"===(o=t.constructor,null==(i=String(o).match(/^function (\w*)/))?"":i[1]))return t===e;break;case"Boolean":case"Number":case"String":if(Xt(t)!==Xt(e)||!Bt(t.valueOf(),e.valueOf()))return!1;break;case"Date":if(!Bt(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(t.source!==e.source||t.global!==e.global||t.ignoreCase!==e.ignoreCase||t.multiline!==e.multiline||t.sticky!==e.sticky||t.unicode!==e.unicode)return!1}for(var u=r.length-1;u>=0;){if(r[u]===t)return n[u]===e;u-=1}switch(a){case"Map":return t.size===e.size&&Zt(t.entries(),e.entries(),r.concat([t]),n.concat([e]));case"Set":return t.size===e.size&&Zt(t.values(),e.values(),r.concat([t]),n.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var c=Yt(t);if(c.length!==Yt(e).length)return!1;var s=r.concat([t]),l=n.concat([e]);for(u=c.length-1;u>=0;){var f=c[u];if(!Ft(f,e)||!te(e[f],t[f],s,l))return!1;u-=1}return!0}var ee=qt(function(t,e){return te(t,e,[],[])});function re(t){return re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},re(t)}function ne(t,e,r){var n,o;if("function"==typeof t.indexOf)switch(re(e)){case"number":if(0===e){for(n=1/e;r=0}var ie=qt(oe);function ae(t){return function e(r,n,o){switch(arguments.length){case 0:return e;case 1:return wt(r)?e:qt(function(e,n){return t(r,e,n)});case 2:return wt(r)&&wt(n)?e:wt(r)?qt(function(e,r){return t(e,n,r)}):wt(n)?qt(function(e,n){return t(r,e,n)}):Ot(function(e){return t(r,n,e)});default:return wt(r)&&wt(n)&&wt(o)?e:wt(r)&&wt(n)?qt(function(e,r){return t(e,r,o)}):wt(r)&&wt(o)?qt(function(e,r){return t(e,n,r)}):wt(n)&&wt(o)?qt(function(e,n){return t(r,e,n)}):wt(r)?Ot(function(e){return t(e,n,o)}):wt(n)?Ot(function(e){return t(r,e,o)}):wt(o)?Ot(function(e){return t(r,n,e)}):t(r,n,o)}}}var ue=Number.isInteger||function(t){return(0|t)===t};function ce(t){return"[object String]"===Object.prototype.toString.call(t)}function se(t,e){var r=t<0?e.length+t:t;return ce(e)?e.charAt(r):e[r]}function le(t,e){for(var r=e,n=0;n=0&&"[object Array]"===Object.prototype.toString.call(t)},ye=Ot(function(t){return null==t});function he(t){return he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},he(t)}var ve=ae(function t(e,r,n){if(0===e.length)return r;var o=e[0];if(e.length>1){var i=!ye(n)&&Ft(o,n)&&"object"===he(n[o])?n[o]:ue(e[1])?[]:{};r=t(Array.prototype.slice.call(e,1),r,i)}return function(t,e,r){if(ue(t)&&de(r)){var n=[].concat(r);return n[t]=e,n}var o={};for(var i in r)o[i]=r[i];return o[t]=e,o}(o,r,n)}),be=ae(function(t,e,r){return ve([t],e,r)});function me(t,e){return function(){var r=arguments.length;if(0===r)return e();var n=arguments[r-1];return de(n)||"function"!=typeof n[t]?e.apply(this,arguments):n[t].apply(n,Array.prototype.slice.call(arguments,0,r-1))}}var ge=qt(me("forEach",function(t,e){for(var r=e.length,n=0;n0&&t.hasOwnProperty(0)&&t.hasOwnProperty(t.length-1))});function Be(t){return function e(r){for(var n,o,i,a=[],u=0,c=r.length;u=arguments.length)?c=e[a]:(c=arguments[o],o+=1),n[a]=c,wt(c)?u=!0:i-=1,a+=1}return!u&&i<=0?r.apply(this,n):mt(Math.max(0,i),ze(t,n,r))}}var Ve=qt(function(t,e){return 1===t?Ot(e):mt(t,ze(t,[],e))}),Ke=Ve,Ye=qt(Re(["fantasy-land/map","map"],We,function(t,e){switch(Object.prototype.toString.call(e)){case"[object Function]":return Ke(e.length,function(){return t.call(this,e.apply(this,arguments))});case"[object Object]":return Ce(function(r,n){return r[n]=t(e[n]),r},{},Yt(e));default:return Je(t,e)}})),Qe=Ye,Xe="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function Ze(t,e,r){return function(n,o,i){if(Fe(i))return t(n,o,i);if(null==i)return o;if("function"==typeof i["fantasy-land/reduce"])return e(n,o,i,"fantasy-land/reduce");if(null!=i[Xe])return r(n,o,i[Xe]());if("function"==typeof i.next)return r(n,o,i);if("function"==typeof i.reduce)return e(n,o,i,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function tr(t,e,r){for(var n=0,o=r.length;n":vr(r,n)},n=function(t,e){return Je(function(e){return lr(e)+": "+r(t[e])},e.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+Je(r,t).join(", ")+"))";case"[object Array]":return"["+Je(r,t).concat(n(t,yr(function(t){return/^\d+$/.test(t)},Yt(t)))).join(", ")+"]";case"[object Boolean]":return"object"===hr(t)?"new Boolean("+r(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?r(NaN):lr(pr(t)))+")";case"[object Map]":return"new Map("+r(Array.from(t))+")";case"[object Null]":return"null";case"[object Number]":return"object"===hr(t)?"new Number("+r(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object Set]":return"new Set("+r(Array.from(t).sort())+")";case"[object String]":return"object"===hr(t)?"new String("+r(t.valueOf())+")":lr(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var o=t.toString();if("[object Object]"!==o)return o}return"{"+n(t,Yt(t)).join(", ")+"}"}}var br=Ot(function(t){return vr(t,[])}),mr=qt(function(t,e){if(de(t)){if(de(e))return t.concat(e);throw new TypeError(br(e)+" is not an array")}if(ce(t)){if(ce(e))return t+e;throw new TypeError(br(e)+" is not a string")}if(null!=t&&sr(t["fantasy-land/concat"]))return t["fantasy-land/concat"](e);if(null!=t&&sr(t.concat))return t.concat(e);throw new TypeError(br(t)+' does not have a method named "concat" or "fantasy-land/concat"')});function gr(t){return t&&t["@@transducer/reduced"]?t:{"@@transducer/value":t,"@@transducer/reduced":!0}}var wr=function(){function t(t,e){this.xf=e,this.f=t,this.all=!0}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){return this.all&&(t=this.xf["@@transducer/step"](t,!0)),this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){return this.f(e)||(this.all=!1,t=gr(this.xf["@@transducer/step"](t,!1))),t},t}();function Or(t){return function(e){return new wr(t,e)}}var Sr=qt(Re(["all"],Or,function(t,e){for(var r=0;re!=e>t)return e>t?e:t}var n=r(t,e);if(void 0!==n)return n;var o=r(_r(t),_r(e));if(void 0!==o)return o===_r(t)?t:e;var i=br(t),a=r(i,br(e));return void 0!==a&&a===i?t:e}),Pr=qt(function(t,e){return Qe(xe(t),e)}),kr=qt(function(t,e){return Ke(cr(Er,0,Pr("length",e)),function(){var r=arguments,n=this;return t.apply(n,Je(function(t){return t.apply(n,r)},e))})}),Ar=kr,Tr=Ot(function(t){return Ar(function(){return Array.prototype.slice.call(arguments,0)},t)}),xr=Tr([Le,yr]);function Ir(t){return Ir="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ir(t)}function Cr(t,e,r){var n,o=Ir(t);switch(o){case"string":case"number":return 0===t&&1/t==-1/0?!!r._items["-0"]||(e&&(r._items["-0"]=!0),!1):null!==r._nativeSet?e?(n=r._nativeSet.size,r._nativeSet.add(t),r._nativeSet.size===n):r._nativeSet.has(t):o in r._items?t in r._items[o]||(e&&(r._items[o][t]=!0),!1):(e&&(r._items[o]={},r._items[o][t]=!0),!1);case"boolean":if(o in r._items){var i=t?1:0;return!!r._items[o][i]||(e&&(r._items[o][i]=!0),!1)}return e&&(r._items[o]=t?[!1,!0]:[!0,!1]),!1;case"function":return null!==r._nativeSet?e?(n=r._nativeSet.size,r._nativeSet.add(t),r._nativeSet.size===n):r._nativeSet.has(t):o in r._items?!!oe(t,r._items[o])||(e&&r._items[o].push(t),!1):(e&&(r._items[o]=[t]),!1);case"undefined":return!!r._items[o]||(e&&(r._items[o]=!0),!1);case"object":if(null===t)return!!r._items.null||(e&&(r._items.null=!0),!1);default:return(o=Object.prototype.toString.call(t))in r._items?!!oe(t,r._items[o])||(e&&r._items[o].push(t),!1):(e&&(r._items[o]=[t]),!1)}}var Rr=function(){function t(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return t.prototype.add=function(t){return!Cr(t,!0,this)},t.prototype.has=function(t){return Cr(t,!1,this)},t}(),Dr=qt(function(t,e){for(var r=[],n=0,o=t.length,i=e.length,a=new Rr,u=0;u=0&&this.i>=this.n?gr(r):r},t}();function vn(t){return function(e){return new hn(t,e)}}var bn=ae(me("slice",function(t,e,r){return Array.prototype.slice.call(r,t,e)})),mn=qt(Re(["take"],vn,function(t,e){return bn(0,t<0?1/0:t,e)})),gn=qt(function(t,e){return ee(mn(t.length,e),t)}),wn=qt(function(t,e){return"function"!=typeof e.indexOf||de(e)?ne(e,t,0):e.indexOf(t)}),On=ae(function(t,e,r){t=t=0?t:r.length;var n=Array.prototype.slice.call(r,0);return n.splice(t,0,e),n}),Sn=function(){function t(t,e){this.xf=e,this.f=t,this.found=!1}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){return this.found||(t=this.xf["@@transducer/step"](t,void 0)),this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){return this.f(e)&&(this.found=!0,t=gr(this.xf["@@transducer/step"](t,e))),t},t}();function jn(t){return function(e){return new Sn(t,e)}}var _n=qt(Re(["find"],jn,function(t,e){for(var r=0,n=e.length;rt.length)&&(e=t.length);for(var r=0,n=Array(e);r2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;if(Array.isArray(t))t.forEach(function(t,o){if(n){var i=cn(function(t){return ie("{}",t)},n);if(-1!==i){var a=bn(0,i,n),u=bn(i,n.length,n);if(a.length)qn(Oe(a,t),e,mr(r,mr([o],a)),u);else{var c,s=u.map(function(t){return t.replace("{}","")}).filter(function(t){return t}),l=mr([o],s);for(var f in c=s.length?Oe(s,t):t){var p=c[f];qn(p,e,mr(r,l.concat([f])))}}}else qn(Oe(n,t),e,mr(r,mr([o],n)))}else qn(t,e,r.concat(o))});else if("Object"===Qt(t)){e(t,r);var o=t.props&&t.props.children;if(o){var i=r.concat(Un);qn(o,e,i)}var a=window.__dashprivate_childrenProps;(a&&a[t.namespace]&&a[t.namespace][t.type]||[]).forEach(function(n){if(n.includes("[]")){var o=(w=n.split("[]").map(function(t){return t.split(".").filter(function(t){return t})}),O=2,function(t){if(Array.isArray(t))return t}(w)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(w,O)||Dn(w,O)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1],u=mr(["props"],i),c=mr(r,u);qn(Oe(u,t),e,c,a)}else if(n.includes("{}")){for(var s=n.split("."),l=[],f=[],p=!1,d=0;d-1&&r.splice(n,1)}}},{key:"emit",value:function(t){for(var e=this,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function ro(t,e){if(t){if("string"==typeof t)return no(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?no(t,e):void 0}}function no(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);ro?1:ne?1:t0;[[e,"Input"],[r,"State"]].forEach(function(e){var r=to(e,2),u=r[0],c=r[1];u.forEach(function(e,r){var u=ko(e.id),s=u.matchKeys,l=u.allsmallerKeys,f=a?s.concat(l):l,p=Dr(f,i);if(p.length){p.sort();var d=t.length?"Output 0 (".concat(Wo(t[0]),")"):"the (absent) Output";o("`Input` / `State` wildcards not in `Output`s",[n,"".concat(c," ").concat(r," (").concat(Wo(e),")"),"has MATCH or ALLSMALLER on key(s) ".concat(p.join(", ")),"where ".concat(d),"does not have a MATCH wildcard. Inputs and State do not","need every MATCH from the Output(s), but ALLSMALLER","requires a matching MATCH in the Output(s), and when","the Output(s) have any MATCH, Input/State MATCH keys","must be a subset of them."])}})})}(i,o,a,c,e))})}(u,function(t,r){c=!0,e(t,r)});var s={},l={},f=new Map,p=new Map,d=new Map,y=new Map,h={},v={},b={},m={},g=!1,w=!1,O={MultiGraph:n,outputMap:s,inputMap:l,outputPatterns:h,inputPatterns:v,partialOutputPatterns:b,partialInputPatterns:m,hasPartialOutputPatterns:g,hasPartialInputPatterns:w,callbacks:u};if(c)return O;function S(t,e){var r=[{}];return Fr(function(t,n){var o=i[n].vals,a=o.indexOf(e[n]),u=[t];t&&t.wild&&(u=t===co?a>0?o.slice(0,a):[]:-1===a||t===ao?o:[e[n]]),r=nn(nn([be(n)],u),r)},t),r}u.forEach(function(t){var e=t.outputs,r=t.inputs;e.concat(r).filter(function(t){return"object"===oo(t.id)}).forEach(function(t){Fr(function(t,e){i[e]||(i[e]={exact:[],expand:0});var r=i[e];t&&t.wild?t.expand&&(r.expand+=1):-1===r.exact.indexOf(t)&&r.exact.push(t)},t.id)})}),Fr(function(t){var e=t.exact,r=t.expand,n=e.slice().sort(bo);if(r)for(var o=0;o2&&void 0!==arguments[2])||arguments[2];r.validate_callbacks&&(n.addNode(t),n.addDependency(t,e),o&&(E[E.length-1].push(t),P[P.length-1].push(e)))}u.forEach(function(t){var e=t.outputs,o=t.inputs;function i(t,e){r.validate_callbacks&&(n.addNode(e),o.forEach(function(r){var n=r.id,o=r.property;"object"===oo(n)?S(n,t).forEach(function(t){k(Wo({id:t,property:o}),e)}):k(Wo(r),e)}))}E.push([]),P.push([]);var a=ko(e.length?e[0].id:void 0).matchKeys,u=cn(function(t){return!Io(t)},e),c=ln({matchKeys:a,firstSingleOutput:u,outputs:e},t);e.forEach(function(t){var e,n=t.id,a=t.property,u=t.partial;if(r.validate_callbacks&&(e=function(t,e){var r=t.id,n=t.property;return e.some(function(e){var o=e.id,i=e.property;if(n!==i||oo(r)!==oo(o))return!1;if("string"==typeof r){if(r===o)return!0}else if(Eo(e,[t]))return!0;return!1})}(t,o)),"object"===oo(n))r.validate_callbacks&&S(n,{}).forEach(function(t){var r={id:t,property:a},n=Wo(r);e&&(_.push(r),n+=j),i(t,n)}),u?(So(f,n,a,c),So(d,n,a,c),g=!0):Oo(f,n,a,c);else{if(r.validate_callbacks){var l=Wo(t);e&&(_.push(t),l+=j),i({},l)}wo(s,n,a,c)}}),o.forEach(function(t){var e=t.id,r=t.property,n=t.partial;"object"===oo(e)?n?(So(p,e,r,c),So(y,e,r,c),w=!0):Oo(p,e,r,c):wo(l,e,r,c)})}),h=jo(f,h),v=jo(p,v),b=jo(d,b),m=jo(y,m),O.outputPatterns=h,O.inputPatterns=v,O.partialOutputPatterns=b,O.partialInputPatterns=m,O.hasPartialOutputPatterns=g,O.hasPartialInputPatterns=w,_.forEach(function(t){for(var e=Wo(t),r=e.concat(j),n=0;n3&&void 0!==arguments[3]?arguments[3]:"";return function(o){var i=o.matchKeys,a=o.firstSingleOutput,u=o.outputs;if(i.length){var c=u[a];if(c)Ro(o,c,t(e)(c),r);else{var s={};u.forEach(function(n){var a=t(e)(n).filter(function(t){var e=JSON.stringify(Ie(i,t.id));return!s[e]&&(s[e]=1,!0)});Ro(o,n,a,r)})}}else{var l=Zo(o,t,n);r.push(l)}}}function No(t){return No="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},No(t)}function Mo(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Uo(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r5&&void 0!==arguments[5])||arguments[5],a=[],u=Wo({id:r,property:n});if("string"==typeof r){var c=(t.inputMap[r]||{})[n];if(!c)return[];c.forEach(Do(ei(),e,a))}else{var s=Object.keys(r).sort(),l=Ie(s,r),f=s.join(","),p=(t.inputPatterns[f]||{})[n];if(p&&p.forEach(function(t){if(t.partial){if(To(t.keys,t.values,s,l)){var r=xo(t.values,l),n=t.keys.map(function(t){return l[s.indexOf(t)]});t.callbacks.forEach(Do(ri(t.keys,n,t.values),e,a,r))}}else if(Ao(s,l,t.values)){var o=xo(t.values,l);t.callbacks.forEach(Do(ei(s,l,t.values),e,a,o))}}),t.hasPartialInputPatterns)for(var d in t.partialInputPatterns)if(d!==f&&d.split(",").every(function(t){return-1!==s.indexOf(t)})){var y=t.partialInputPatterns[d][n];y&&y.forEach(function(t){if(To(t.keys,t.values,s,l)){var r=xo(t.values,l),n=t.keys.map(function(t){return l[s.indexOf(t)]});t.callbacks.forEach(Do(ri(t.keys,n,t.values),e,a,r))}})}}return a.forEach(function(r){r.changedPropIds[u]=o||Ho,i&&(r.priority=Vo(t,e,r))}),a}function Vo(t,e,r){for(var n=[r],o={},i={},a=[];n.length;){n=Le(function(t){var e=i[t.resolvedId];return i[t.resolvedId]=!0,e},n);var u=Le(function(t){return!o[Wo(t)]},He(Qe(function(t){return He(t.getOutputs(e))},n)));u.forEach(function(t){return o[Wo(t)]=!0}),(n=He(Qe(function(r){var n=r.id,o=r.property;return zo(t,e,n,o,Jo,!1)},u))).length&&a.push(n.length)}return a.unshift(a.length),Qe(function(t){return Math.min(t,35).toString(36)},a).join("")}var Ko=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e.length)return[];var o=Qe(Wo,cr(function(e,r){return mr(e,He(r.getOutputs(t)))},[],r)),i={};if(o.forEach(function(t){return i[t]=!0}),Object.keys(n).length){var a=He(Qe(function(e){return function(t,e,r){for(var n=[r],o={};n.length;){var i=Le(function(t){return!o[Wo(t)]},He(Qe(function(t){return He(t.getOutputs(e))},n)));o=cr(function(t,e){return be(Wo(e),!0,t)},o,i),n=He(Qe(function(r){var n=r.id,o=r.property;return zo(t,e,n,o,Jo,!1)},i))}return o}(n,t,e)},r));a.length>0&&(i=Object.assign.apply(Object,[a[0]].concat(Go(a))))}return Le(function(e){return jr(function(t){return!i[Wo(t)]},function(t,e){return t.filter(function(t){return!e.some(function(e){return Wo(t)===Wo(e)})})}(He(e.getInputs(t)),He(e.getOutputs(t))))},e)},Yo=function(t,e,r,n){for(var o=[],i=function(t,e,r,n){var o=n.outputsOnly,i=n.removedArrayInputsOnly,a=n.newPaths,u=n.chunkPath,c=n.patchAnalysis,s={},l=[];function f(t){if(t){var e=s[t.resolvedId];if(void 0!==e){var r=l[e];r.changedPropIds=$o(r.changedPropIds,t.changedPropIds),t.initialCall&&(r.initialCall=!0)}else s[t.resolvedId]=l.length,l.push(t)}}function p(r,n,s){if(n){var l=!!c&&function(t,e){return!(!t||!e||t.freshIds[e])}(c,vo(r));for(var p in n){var d=Co(t,0,r,p);d&&(d.callback.prevent_initial_call||l||(d.initialCall=!0,f(d)))}}if(!o&&s){var y=vo(r),h=i?function(t){return function(r){return r.getInputs(e).some(function(e){return!(!Array.isArray(e)||!e.some(function(e){return vo(e.id)===t})||(He(r.getOutputs(a)).length&&(r.initialCall=!0,r.changedPropIds={},f(r)),0))})}}(y):f;for(var v in s){var b=h;u&&!Kn(c,y,v)&&(b=function(t){jr(gn(u),Pr("path",He(t.getOutputs(e))))||h(t)}),zo(t,e,r,v,Jo).forEach(b)}}}return qn(r,function(e){var r=e.props&&e.props.id;if(r)if("string"!=typeof r||i){var n=Object.keys(r).sort(),o=n.join(",");if(p(r,!i&&t.outputPatterns[o],t.inputPatterns[o]),t.hasPartialInputPatterns)for(var a in t.partialInputPatterns)a!==o&&a.split(",").every(function(t){return-1!==n.indexOf(t)})&&p(r,null,t.partialInputPatterns[a]);if(!i&&t.hasPartialOutputPatterns)for(var u in t.partialOutputPatterns)u!==o&&u.split(",").every(function(t){return-1!==n.indexOf(t)})&&p(r,t.partialOutputPatterns[u],null)}else p(r,t.outputMap[r],t.inputMap[r])}),Qe(function(r){return Xn(Xn({},r),{},{priority:Vo(t,e,r)})},l)}(t,e,r,n);;){var a=Lo(xr(function(t){var r=t.callback.inputs,n=t.getInputs;return jr(Io,r)||!Ee(Dr(Qe(Wo,He(n(e))),o))},i),2),u=a[0],c=a[1];if(!c.length)break;i=u,o=mr(o,Qe(Wo,He(Qe(function(t){return(0,t.getOutputs)(e)},c))))}if(n.filterRoot){var s=Oe(["props","id"],r);s&&(s=vo(s),i=i.filter(function(t){return t.callback.inputs.reduce(function(t,e){return t||vo(e.id)==s&&n.filterRoot.includes(e.property)},!1)}))}var l=Math.random().toString(16);return Qe(function(t){return Uo(Uo({},t),{},{executionGroup:l})},i)},Qo=function(t){var e=t.anyVals,r=t.callback,n=r.inputs,o=r.outputs,i=r.state,a=r.output,u=Qe(Wo,[].concat(Go(n),Go(o),Go(i)));return 0===o.length&&a&&u.push(a),mr(u,Array.isArray(e)?e:""===e?[]:[e]).join(",")};function Xo(t,e,r,n){return He(Qe(function(e){return zo(r,n,t,e)},Yt(e)))}var Zo=function(t,e,r){return{callback:t,anyVals:r,resolvedId:t.output+r,getOutputs:function(r){return t.outputs.map(e(r))},getInputs:function(r){return t.inputs.map(e(r))},getState:function(r){return t.state.map(e(r))},changedPropIds:{},initialCall:!1}};function ti(t,e){var r=Lo(xr(function(t){var r=t.getOutputs,n=t.callback.outputs;return He(r(e)).length===n.length},t),2)[1],n=Lo(xr(function(t){var r=t.getOutputs;return!He(r(e)).length},r),2)[1];return{added:Qe(function(t){return be("changedPropIds",Nr(function(t,r){return Wn(e,yo(r).id)},t.changedPropIds),t)},n),removed:r}}function ei(t,e,r){return function(n){return function(o){var i=o.id,a=o.property,u=o.partial;if("string"==typeof i){var c=Wn(n,i);return c?[{id:i,property:a,path:c}]:[]}var s=Object.keys(i).sort(),l=Ie(s,i),f=s.join(","),p=n.objs[f];if(p){var d=[];return p.forEach(function(n){var o=n.values,i=n.path;Ao(s,o,l,t,e,r)&&d.push({id:Ur(s,o),property:a,path:i})}),d}if(u){var y=[],h=function(){var o=v.split(",");if(!s.every(function(t){return-1!==o.indexOf(t)}))return 1;n.objs[v].forEach(function(n){var i=n.values,u=n.path;To(s,l,o,i,t,e,r)&&y.push({id:Ur(o,i),property:a,path:u})})};for(var v in n.objs)h();return y}return[]}}}function ri(t,e,r,n){return function(n){return function(o){var i=o.id,a=o.property,u=o.partial;if("string"==typeof i){var c=Wn(n,i);return c?[{id:i,property:a,path:c}]:[]}var s=Object.keys(i).sort(),l=Ie(s,i);if(!u){var f=s.join(","),p=n.objs[f];if(!p)return[];var d=[],y=e?s.map(function(r){var n=t.indexOf(r);return-1!==n?e[n]:void 0}):void 0,h=r?s.map(function(e){var n=t.indexOf(e);return-1!==n?r[n]:void 0}):void 0;return p.forEach(function(e){var r=e.values,n=e.path;Ao(s,r,l,t,y,h)&&d.push({id:Ur(s,r),property:a,path:n})}),d}var v=[],b=function(){var o=m.split(",");if(!s.every(function(t){return-1!==o.indexOf(t)}))return 1;n.objs[m].forEach(function(n){var i=n.values,u=n.path;To(s,l,o,i,t,e,r)&&v.push({id:Ur(o,i),property:a,path:u})})};for(var m in n.objs)b();return v}}}var ni={ON_PROP_CHANGE:1,SET_REQUEST_QUEUE:1,SET_GRAPHS:1,SET_PATHS:1,SET_LAYOUT:1,SET_APP_LIFECYCLE:1,SET_CONFIG:1,ADD_HTTP_HEADERS:1,ON_ERROR:1,SET_HOOKS:1,INSERT_COMPONENT:1,REMOVE_COMPONENT:1,RESET_COMPONENT_STATE:1},oi=function(t){if(ni[t])return t;throw new Error("".concat(t," is not defined."))};function ii(t){var e={STARTED:"STARTED",HYDRATED:"HYDRATED",DESTROYED:"DESTROYED"};if(e[t])return e[t];throw new Error("".concat(t," is not a valid app state."))}var ai,ui,ci=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ii("STARTED"),e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_APP_LIFECYCLE")?ii(e.payload):t};function si(t){return si="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},si(t)}function li(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function fi(t){for(var e=1;e1?arguments[1]:void 0;return cr(function(t,e){return null===e?t:e.type===ui.AddCompleted?function(t,e){return fi(fi({},t),{},{completed:t.completed+e.payload})}(t,e):function(t,e){var r=yi[e.type],n=hi[e.type];return r&&n&&0!==e.payload.length?fi(fi({},t),{},{[n]:r(t[n],e.payload)}):t}(t,e)},arguments.length>0&&void 0!==arguments[0]?arguments[0]:di,t.type===ui.Aggregate?t.payload:[t])},bi=ae(function t(e,r,n){return ke(function(r,n,o){return Se(n)&&Se(o)?t(e,n,o):e(r,n,o)},r,n)}),mi=bi,gi=qt(function(t,e){return mi(function(t,e,r){return r},t,e)});function wi(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_CONFIG")?(window.__dashprivate_childrenProps=gi(window.__dashprivate_childrenProps||{},e.payload.children_props),e.payload):e.type===oi("ADD_HTTP_HEADERS")?gi(t,{fetch:{headers:e.payload}}):t}var Oi={},Si=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Oi,e=arguments.length>1?arguments[1]:void 0;return"SET_GRAPHS"===e.type?e.payload:t};function ji(t){return function(t){if(Array.isArray(t))return _i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return _i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_i(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:Ei,e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"ON_ERROR":var r=t.frontEnd,n=t.backEnd,o=t.backEndConnected;return console.error(e.payload.error),"frontEnd"===e.payload.type?{frontEnd:[ln(e.payload,{timestamp:new Date})].concat(ji(r)),backEnd:n,backEndConnected:o}:"backEnd"===e.payload.type?{frontEnd:r,backEnd:[ln(e.payload,{timestamp:new Date})].concat(ji(n)),backEndConnected:o}:t;case"SET_CONNECTION_STATUS":return ln(t,{backEndConnected:e.payload});default:return t}}function ki(t){return function(t){if(Array.isArray(t))return Ai(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ai(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ai(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ai(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:Ti;switch((arguments.length>1?arguments[1]:void 0).type){case"UNDO":var e=t.past,r=t.present,n=t.future,o=e[e.length-1];return{past:e.slice(0,e.length-1),present:o,future:[r].concat(ki(n))};case"REDO":var i=t.past,a=t.present,u=t.future,c=u[0],s=u.slice(1);return{past:[].concat(ki(i),[a]),present:c,future:s};case"REVERT":var l=t.past,f=t.future,p=l[l.length-1];return{past:l.slice(0,l.length-1),present:p,future:ki(f)};default:return t}},Ii=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{layout_pre:null,layout_post:null,request_pre:null,request_post:null,callback_resolved:null,request_refresh_jwt:null,bear:!1},e=arguments.length>1?arguments[1]:void 0;return"SET_HOOKS"===e.type?e.payload:t};function Ci(t){return Ci="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ci(t)}function Ri(t,e,r){if(r||(r=new Ni),o=Ci(n=t),null==n||"object"!=o&&"function"!=o)return t;var n,o,i,a=function(n){var o=r.get(t);if(o)return o;for(var i in r.set(t,n),t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=e?Ri(t[i],!0,r):t[i]);return n};switch(Qt(t)){case"Object":return a(Object.create(Object.getPrototypeOf(t)));case"Array":return a(Array(t.length));case"Date":return new Date(t.valueOf());case"RegExp":return i=t,new RegExp(i.source,i.flags?i.flags:(i.global?"g":"")+(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.sticky?"y":"")+(i.unicode?"u":"")+(i.dotAll?"s":""));case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":return t.slice();default:return t}}var Di,Ni=function(){function t(){this.map={},this.length=0}return t.prototype.set=function(t,e){var r=this.hash(t),n=this.map[r];n||(this.map[r]=n=[]),n.push([t,e]),this.length+=1},t.prototype.hash=function(t){var e=[];for(var r in t)e.push(Object.prototype.toString.call(t[r]));return e.join()},t.prototype.get=function(t){if(this.length<=180){for(var e in this.map)for(var r=this.map[e],n=0;n0&&void 0!==arguments[0]?arguments[0]:Ji,e=arguments.length>1?arguments[1]:void 0;if("UPDATE_RESOURCE_USAGE"===e.type){var r=e.payload,n=r.id,o=r.usage,i=r.status,a=Fi[i]||i,u={updated:[n],resources:t.resources,callbacks:t.callbacks,graphLayout:t.graphLayout};u.callbacks[n]=u.callbacks[n]||Mi(Hi);var c=u.callbacks[n],s=c.resources,l=u.resources;if(c.count+=1,c.status.latest=a,c.status[a]=(c.status[a]||0)+1,c.result=e.payload.result,c.inputs=e.payload.inputs,c.state=e.payload.state,o){var f=o.__dash_client,p=o.__dash_server,d=o.__dash_upload,y=o.__dash_download,h=function(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n0&&void 0!==arguments[0]?arguments[0]:Wi};!function(t){t.Set="IsLoading.Set"}(Di||(Di={}));var Vi=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1?arguments[1]:void 0;return e.type===Di.Set?e.payload:t},Ki=qt(function(t,e){return Zr(e,[t])}),Yi=function(t){return{value:t,"fantasy-land/map":function(){return this}}},Qi=qt(function(t,e){return t(Yi)(e).value}),Xi=qt(function(t,e){return function(r){return function(n){return Qe(function(t){return e(t,n)},r(t(n)))}}}),Zi=Ot(function(t){return Xi(function(e){return le(t,e)},ve(t))}),ta=ae(function(t,e,r){var n=Array.prototype.slice.call(r,0);return n.splice(t,e),n}),ea=qt(function t(e,r){if(null==r)return r;switch(e.length){case 0:return r;case 1:return function(t,e){if(null==e)return e;if(ue(t)&&de(e))return ta(t,1,e);var r={};for(var n in e)r[n]=e[n];return delete r[t],r}(e[0],r);default:var n=e[0],o=Array.prototype.slice.call(e,1);return null==r[n]?function(t,e){if(ue(t)&&de(e))return[].concat(e);var r={};for(var n in e)r[n]=e[n];return r}(n,r):be(n,t(o,r[n]),r)}});function ra(t){return ra="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ra(t)}function na(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function oa(t,e,r){return(e=function(t){var e=function(t){if("object"!=ra(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=ra(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==ra(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ia(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{components:[]},r=arguments.length>1?arguments[1]:void 0;if(r.type===oi("SET_LAYOUT"))return Array.isArray(r.payload)?e.components=function(t){if(Array.isArray(t))return ia(t)}(t=r.payload)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ia(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ia(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}():e.components=function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:ua,e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_PATHS")?e.payload:t},sa=qt(function(t,e){return ea([t],e)});function la(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"ADD_CALLBACK_JOB":return function(t,e){return be(t.jobId,t,e)}(e.payload,t);case"REMOVE_CALLBACK_JOB":return function(t,e){return sa(t,e)}(e.payload.jobId,t);case"CALLBACK_JOB_OUTDATED":return function(t,e){return ve([t,"outdated"],!0,e)}(e.payload.jobId,t);default:return t}}function fa(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"LOADED":return e.payload.reduce(function(t,e){var r=[JSON.stringify(e.path)],n=pe([],r,t);return ve(r,n.filter(function(t){return t.property!==e.property}),t)},t);case"LOADING":return e.payload.reduce(function(t,e){var r=[JSON.stringify(e.path)],n=pe([],r,t);return ie(e,n)||n.push(e),ve(r,n,t)},t);default:return t}}var pa=qt(function(t,e){return Ke(t+1,function(){var r=arguments[t];if(null!=r&&sr(r[e]))return r[e].apply(r,Array.prototype.slice.call(arguments,0,t));throw new TypeError(br(r)+' does not have a method named "'+e+'"')})}),da=pa(1,"join");function ya(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if(ie(e.type,["UNDO_PROP_CHANGE","REDO_PROP_CHANGE","ON_PROP_CHANGE"])){var r=ba(e.payload.itempath),n=pe(0,[r,"hash"],t);t=be(r,{hash:n+1,changedProps:e.payload.props,renderType:e.payload.renderType},t)}else if("RESET_COMPONENT_STATE"===e.type){var o=e.payload.itempath;if(o){var i=ba(o);return Object.fromEntries(Object.entries(t).filter(function(t){return!(e=t,r=1,function(t){if(Array.isArray(t))return t}(e)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,r)||ga(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0].startsWith(i);var e,r}))}}return t};function ja(){var t={appLifecycle:ci,callbacks:vi,config:wi,error:Pi,graphs:Si,history:xi,hooks:Ii,profile:$i,changed:zi,isLoading:Vi,layout:aa,paths:ca,layoutHashes:Sa,loading:fa};return we(function(e){var r;t[e]=(r=e,function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,n=t;if(e.type===r){var o=e.payload,i=o.id,a={status:o.status,content:o.content};n=Array.isArray(i)?ve(i,a,t):i?be(i,a,t):ln(t,a)}return n})},Oa),t.callbackJobs=la,function(t){for(var e=Object.keys(t),r={},n=0;n1?r-1:0),o=1;on;){var a=t.charCodeAt(o-1);if(32!==a&&9!==a)break;o--}return t.slice(n,o)}function $a(t){if(-1===t.indexOf("%"))return t;try{return decodeURIComponent(t)}catch(e){return t}}var Wa=Ot(function(t){return function(){return t}}),za=function(t){return{value:t,map:function(e){return za(e(t))}}},Va=ae(function(t,e,r){return t(function(t){return za(e(t))})(r).value}),Ka=ae(function(t,e,r){return Va(t,Wa(e),r)});function Ya(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Qa(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Qa(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qa(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(wu(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,wu(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,wu(f,"constructor",s),wu(s,"constructor",c),c.displayName="GeneratorFunction",wu(s,o,"GeneratorFunction"),wu(f),wu(f,o,"Generator"),wu(f,n,function(){return this}),wu(f,"toString",function(){return"[object Generator]"}),(gu=function(){return{w:i,m:p}})()}function wu(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}wu=function(t,e,r,n){function i(e,r){wu(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},wu(t,e,r,n)}function Ou(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Su(t){return function(t){if(Array.isArray(t))return ju(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ju(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ju(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ju(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);ra)o=t.lastIndexOf(";",i-1)+1;else{var u=Ja(t,o,i);void 0===e[u]&&(e[u]=n(Ja(t,i+1,a))),o=a+1}}while(o3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(vc(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,vc(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,vc(f,"constructor",s),vc(s,"constructor",c),c.displayName="GeneratorFunction",vc(s,o,"GeneratorFunction"),vc(f),vc(f,o,"Generator"),vc(f,n,function(){return this}),vc(f,"toString",function(){return"[object Generator]"}),(hc=function(){return{w:i,m:p}})()}function vc(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}vc=function(t,e,r,n){function i(e,r){vc(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},vc(t,e,r,n)}function bc(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}var mc=jt(console.warn),gc={GET:function(t,e,r,n){return fetch(t,gi(e,{method:"GET",headers:Gu(n)}))},POST:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(t,gi(e,{method:"POST",headers:Gu(arguments.length>3?arguments[3]:void 0),body:r?JSON.stringify(r):null}))}};function wc(t,e,r,n,o){return function(){var i,a=(i=hc().m(function i(a,u){var c,s,l,f,p,d,y,h,v,b,m;return hc().w(function(i){for(;;)switch(i.p=i.n){case 0:d=function(t){u().error.backEndConnected!==t&&a({type:"SET_CONNECTION_STATUS",payload:t})},c=u(),s=c.config,l=c.hooks,f=null,p="".concat(Mn(s)).concat(t),a({type:r,payload:{id:n,status:"loading"}}),i.p=1,h=0;case 2:if(!(h<=1)){i.n=11;break}return i.p=3,i.n=4,gc[e](p,s.fetch,o,s);case 4:y=i.v,i.n=6;break;case 5:return i.p=5,i.v,console.log("fetch error",y),d(!1),i.a(2);case 6:if(401!==y.status&&400!==y.status){i.n=9;break}if(!l.request_refresh_jwt){i.n=9;break}return i.n=7,y.text();case 7:if(!i.v.includes(Ui)){i.n=9;break}return i.n=8,l.request_refresh_jwt(s.fetch.headers.Authorization.substr(7));case 8:if(!(v=i.v)){i.n=9;break}return f={Authorization:"Bearer ".concat(v)},s=gi(s,{fetch:{headers:f}}),i.a(3,10);case 9:return i.a(3,11);case 10:h++,i.n=2;break;case 11:if(b=y.headers.get("content-type"),f&&a(ku(f)),d(!0),!b||-1===b.indexOf("application/json")){i.n=12;break}return i.a(2,y.json().then(function(t){return a({type:r,payload:{status:y.status,content:t,id:n}}),t}));case 12:return i.n=13,y.text();case 13:return m=i.v,mc("Response is missing header: content-type: application/json"),i.a(2,a({type:r,payload:{id:n,status:y.status,content:m}}));case 14:i.p=14,Wu(i.v,"Error from API call: "+t,a);case 15:return i.a(2)}},i,null,[[3,5],[1,14]])}),function(){var t=this,e=arguments;return new Promise(function(r,n){var o=i.apply(t,e);function a(t){bc(o,r,n,a,u,"next",t)}function u(t){bc(o,r,n,a,u,"throw",t)}a(void 0)})});return function(t,e){return a.apply(this,arguments)}}()}function Oc(t){return Oc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oc(t)}function Sc(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function jc(t){for(var e=1;e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(xc(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,xc(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,xc(f,"constructor",s),xc(s,"constructor",c),c.displayName="GeneratorFunction",xc(s,o,"GeneratorFunction"),xc(f),xc(f,o,"Generator"),xc(f,n,function(){return this}),xc(f,"toString",function(){return"[object Generator]"}),(Tc=function(){return{w:i,m:p}})()}function xc(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}xc=function(t,e,r,n){function i(e,r){xc(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},xc(t,e,r,n)}function Ic(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Cc(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){Ic(i,n,o,a,u,"next",t)}function u(t){Ic(i,n,o,a,u,"throw",t)}a(void 0)})}}function Rc(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return Dc(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dc(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function Dc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{};Uc(this,t),Gc(this,"localId",Bc()),Gc(this,"endId",""),Gc(this,"downlinkId",""),Gc(this,"pending",new Map),Gc(this,"counter",0),Gc(this,"cursor",0),Gc(this,"downlinkOpen",!1),Gc(this,"abort",null),Gc(this,"loopGen",0),Gc(this,"reconnectDelay",void 0),Gc(this,"maxReconnectDelay",void 0),Gc(this,"reconnectWindow",void 0),Gc(this,"fetchImpl",void 0),Gc(this,"_transport",{}),Gc(this,"wakeUp",null),Gc(this,"wokenForNewStream",!1),this.fetchImpl=null!==(e=i.fetchImpl)&&void 0!==e?e:fetch.bind(globalThis),this.reconnectDelay=null!==(r=i.reconnectDelay)&&void 0!==r?r:1e3,this.maxReconnectDelay=null!==(n=i.maxReconnectDelay)&&void 0!==n?n:5e3,this.reconnectWindow=null!==(o=i.reconnectWindow)&&void 0!==o?o:3e4,this.configure(i)},[{key:"configure",value:function(t){t.mode&&(this._transport.mode=t.mode),"number"==typeof t.pollInterval&&(this._transport.pollInterval=t.pollInterval)}},{key:"transport",get:function(){return Mc({},this._transport)}},{key:"activeCount",get:function(){return this.pending.size}},{key:"connectionEndId",get:function(){return this.endId}},{key:"streamUrl",value:function(t){if(!this.endId)return t;var e=t.includes("?")?"&":"?";return"".concat(t).concat(e,"endId=").concat(encodeURIComponent(this.endId))+"&downlinkId=".concat(encodeURIComponent(this.downlinkId))}},{key:"run",value:function(t,e,r,n,o){return this.start(t,e,r,n,o).settled}},{key:"start",value:function(t,e,r,n,o){var i=this;0!==this.pending.size&&this.endId||(this.endId=r||"",this.downlinkId=Bc(),this.cursor=0);var a="".concat(this.localId,"-").concat(++this.counter),u=new Promise(function(t,e){i.pending.set(a,{onFrame:o,resolve:t,reject:e,acked:!1,gotFrame:!1})});return this.fetchImpl(this.streamUrl(t),Mc(Mc({},e),{},{method:"POST",body:JSON.stringify(Mc(Mc({},n),{},{streamConnection:{requestId:a}}))})).then(function(r){return i.checkUplink(a,r,t,e)}).catch(function(t){return i.fail(a,t)}),{requestId:a,settled:u}}},{key:"cancel",value:function(t,e,r){var n=this.pending.get(t);n&&(this.pending.delete(t),n.reject(new Error("Streaming callback cancelled")),this.fetchImpl(this.streamUrl(e),Mc(Mc({},r),{},{method:"POST",body:JSON.stringify({streamCancel:{requestId:t}})})).catch(function(){}),this.stopDownlinkIfIdle())}},{key:"checkUplink",value:function(t,e,r,n){if(e.ok){var o,i=this.pending.get(t);i&&(i.acked=!0,this.ensureDownlink(r,n),this.wokenForNewStream=!0,null===(o=this.wakeUp)||void 0===o||o.call(this))}else this.fail(t,new Error("stream uplink responded ".concat(e.status)))}},{key:"hasAcked",value:function(){var t,e=Rc(this.pending.values());try{for(e.s();!(t=e.n()).done;)if(t.value.acked)return!0}catch(t){e.e(t)}finally{e.f()}return!1}},{key:"dispatchEnvelope",value:function(t){if(t.reset)return this.cursor=0,void this.settleAll(new Error("stream reset: the server lost this connection (restart or owner change)"));if("number"==typeof t.seq&&(this.cursor=t.seq),void 0!==t.rid&&void 0!==t.frame){var e=this.pending.get(t.rid);if(e){var r=t.frame;r.done?(this.pending.delete(t.rid),r.error?e.reject(new Error(r.error.message||"Streaming callback error")):e.resolve(),this.stopDownlinkIfIdle()):(e.gotFrame=!0,e.onFrame(r))}}}},{key:"settleAll",value:function(t){var e=Array.from(this.pending.values());this.pending.clear(),this.closeDownlink(),e.forEach(function(e){return e.gotFrame?e.resolve():e.reject(t)})}},{key:"fail",value:function(t,e){var r=this.pending.get(t);r&&(this.pending.delete(t),r.reject(e),this.stopDownlinkIfIdle())}},{key:"stopDownlinkIfIdle",value:function(){this.downlinkOpen&&!this.hasAcked()&&this.closeDownlink()}},{key:"closeDownlink",value:function(){var t,e=this.abort;this.abort=null,this.downlinkOpen=!1,this.loopGen++,null===(t=this.wakeUp)||void 0===t||t.call(this),e&&e.abort()}},{key:"ensureDownlink",value:function(t,e){this.downlinkOpen||(this.downlinkOpen=!0,this.readLoop(t,e,++this.loopGen))}},{key:"readLoop",value:(e=Cc(Tc().m(function t(e,r,n){var o,i,a,u,c,s,l,f,p,d;return Tc().w(function(t){for(;;)switch(t.p=t.n){case 0:i="poll"===this._transport.mode,a=null!==(o=this._transport.pollInterval)&&void 0!==o?o:100,u=a,c=0,s=null,l=this.reconnectDelay;case 1:if(!this.hasAcked()||this.loopGen!==n){t.n=14;break}return this.wokenForNewStream&&(this.wokenForNewStream=!1,c=0,u=a),this.abort=new AbortController,f=0,t.p=2,t.n=3,this.fetchImpl(this.streamUrl(e),Mc(Mc({},r),{},{method:"POST",signal:this.abort.signal,body:JSON.stringify({streamDownlink:{from:this.cursor}})}));case 3:if(!((p=t.v).status>=400&&p.status<500)){t.n=4;break}return this.settleAll(new Error("stream downlink responded ".concat(p.status))),t.a(3,14);case 4:if(p.ok&&p.body){t.n=5;break}throw new Error("downlink responded ".concat(p.status));case 5:return t.n=6,this.consume(p.body,n);case 6:if(0!==(f=t.v)||i){t.n=7;break}throw new Error("downlink closed without data");case 7:s=null,l=this.reconnectDelay,t.n=12;break;case 8:if(t.p=8,t.v,this.hasAcked()&&this.loopGen===n){t.n=9;break}return t.a(3,14);case 9:if(!((d=Date.now())-(s=null!=s?s:d)>=this.reconnectWindow)){t.n=10;break}return this.settleAll(new Error("stream downlink lost: could not reconnect to the server")),t.a(3,14);case 10:return t.n=11,Hc(l);case 11:return l=Math.min(2*l,this.maxReconnectDelay),t.a(3,1);case 12:if(!i||!this.hasAcked()||this.loopGen!==n){t.n=13;break}return f?(c=0,u=a):++c>2&&(u=Math.min(2*u,5*a)),t.n=13,this.pause(u);case 13:t.n=1;break;case 14:this.loopGen===n&&(this.downlinkOpen=!1,this.abort=null);case 15:return t.a(2)}},t,this,[[2,8]])})),function(t,r,n){return e.apply(this,arguments)})},{key:"pause",value:function(t){var e=this;return new Promise(function(r){var n=setTimeout(function(){e.wakeUp=null,r()},t);e.wakeUp=function(){clearTimeout(n),e.wakeUp=null,r()}})}},{key:"consume",value:(t=Cc(Tc().m(function t(e,r){var n,o,i,a,u,c,s,l,f;return Tc().w(function(t){for(;;)switch(t.n){case 0:n=e.getReader(),o=new TextDecoder,i="",a=0;case 1:return t.n=2,n.read();case 2:if(u=t.v,c=u.done,s=u.value,!c){t.n=3;break}return t.a(2,a);case 3:i+=o.decode(s,{stream:!0}),l=void 0;case 4:if(!((l=i.indexOf("\n"))>=0)){t.n=7;break}if(f=i.slice(0,l),i=i.slice(l+1),f.trim()){t.n=5;break}return t.a(3,4);case 5:if(this.loopGen===r){t.n=6;break}return t.a(2,a);case 6:a++,this.dispatchEnvelope(JSON.parse(f)),t.n=4;break;case 7:t.n=1;break;case 8:return t.a(2)}},t,this)})),function(e,r){return t.apply(this,arguments)})}]);var t,e}(),$c=function(){return Lc(function t(e){var r,n=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:kc(),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Uc(this,t),Gc(this,"pending",new Map),Gc(this,"counter",0),Gc(this,"port",void 0),Gc(this,"rendererId",void 0),Gc(this,"transport",void 0),Gc(this,"_broken",!1),this.port=e,this.rendererId=o,this.transport=i,e.onmessage=function(t){return n.handleMessage(t.data)},null===(r=e.start)||void 0===r||r.call(e)},[{key:"broken",get:function(){return this._broken}},{key:"activeCount",get:function(){return this.pending.size}},{key:"run",value:function(t,e,r,n,o){var i=this,a="".concat(this.rendererId,"-").concat(++this.counter);return new Promise(function(u,c){i.pending.set(a,{onFrame:o,resolve:u,reject:c,acked:!1,gotFrame:!1});var s={type:"stream",rendererId:i.rendererId,requestId:a,url:t,init:e,endId:r||"",payload:n,transport:i.transport};i.port.postMessage(s)})}},{key:"release",value:function(){var t={type:"unregister",rendererId:this.rendererId};this.port.postMessage(t)}},{key:"fail",value:function(t){this._broken=!0;var e,r=Rc(this.pending.values());try{for(r.s();!(e=r.n()).done;)e.value.reject(t)}catch(t){r.e(t)}finally{r.f()}this.pending.clear()}},{key:"handleMessage",value:function(t){var e=this.pending.get(t.requestId);e&&("frame"!==t.type?(this.pending.delete(t.requestId),"done"===t.type?e.resolve():e.reject(new Error(t.message))):e.onFrame(t.frame))}}])}(),Wc=null;function zc(){var t,e,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Wc instanceof $c&&Wc.broken&&(Wc=null),Wc)return Wc;var o={mode:null===(t=n.stream)||void 0===t?void 0:t.mode,pollInterval:null===(e=n.stream)||void 0===e?void 0:e.poll_interval},i=null===(r=n.stream)||void 0===r?void 0:r.worker_url;if(i&&"undefined"!=typeof SharedWorker)try{var a=new SharedWorker(i,{name:"dash-stream-worker"}),u=new $c(a.port,kc(),o);return a.onerror=function(){return u.fail(new Error("Dash stream worker failed"))},window.addEventListener("pagehide",function(){return u.release()}),Wc=u}catch(t){}return Wc=new Jc(o)}function Vc(t){var e;return!(null===(e=t.stream)||void 0===e||!e.enabled)}function Kc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function os(t,e){if(t){if("string"==typeof t)return is(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?is(t,e):void 0}}function is(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(us(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,us(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,us(f,"constructor",s),us(s,"constructor",c),c.displayName="GeneratorFunction",us(s,o,"GeneratorFunction"),us(f),us(f,o,"Generator"),us(f,n,function(){return this}),us(f,"toString",function(){return"[object Generator]"}),(as=function(){return{w:i,m:p}})()}function us(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}us=function(t,e,r,n){function i(e,r){us(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},us(t,e,r,n)}function cs(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function ss(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){cs(i,n,o,a,u,"next",t)}function u(t){cs(i,n,o,a,u,"throw",t)}a(void 0)})}}function ls(t,e){for(var r=0;r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function ws(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Os(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(Os(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,Os(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,Os(f,"constructor",s),Os(s,"constructor",c),c.displayName="GeneratorFunction",Os(s,o,"GeneratorFunction"),Os(f),Os(f,o,"Generator"),Os(f,n,function(){return this}),Os(f,"toString",function(){return"[object Generator]"}),(ws=function(){return{w:i,m:p}})()}function Os(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Os=function(t,e,r,n){function i(e,r){Os(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},Os(t,e,r,n)}function Ss(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function js(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){Ss(i,n,o,a,u,"next",t)}function u(t){Ss(i,n,o,a,u,"throw",t)}a(void 0)})}}function _s(t){return function(t){if(Array.isArray(t))return ks(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||Ps(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Es(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(t,e)||Ps(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ps(t,e){if(t){if("string"==typeof t)return ks(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ks(t,e):void 0}}function ks(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r5&&void 0!==arguments[5]&&arguments[5],a="Input"===o?r.getInputs:r.getState,u=[],c=0,s=a(t).map(function(i,a){var s=Es(Qs(t,i.map(function(t){var r=t.id,n=t.property,o=t.path;return{id:r,property:n,value:Oe([].concat(_s(o),["props",n]),e)}}),n[a],r.anyVals,o),2),l=s[0],f=s[1];return Io(n[a])&&!l.length&&c++,f&&u.push(f),l});if(u.length){if(i&&u.length+c===s.length)return null;Zs(u,t)}return s}function Zs(t,e){var r=t[0];throw-1!==r.indexOf("logged above")&&console.error(e.objs),new ReferenceError(r)}var tl=function(t){return Array.isArray(t)?Pr("value",t):t.value},el=function(t,e){return Array.isArray(t)?e===window.dash_clientside.no_update?Br(t,[e]):Br(t,e):[[t,e]]};function rl(t){return t.split("@")[0]}function nl(t){return Yt(t).length?{patchedOutputs:t}:{}}function ol(t,e,r,n){var o={};return He(t).forEach(function(t){var i=rl(t.property),a=Wn(e,t.id),u=vo(t.id),c=[u,i],s=Oe(c,n);if(void 0!==s){nc(s)&&(o[u]=o[u]||{patchedProps:{},freshIds:{},writtenProps:{},tailAppends:{}});var l=Oe(a.concat(["props"]),r)||{},f=yc({[i]:s},l,o[u]);n=ve(c,f[i],n)}}),{data:n,patchedOutputs:o}}function il(t,e,r,n){return al.apply(this,arguments)}function al(){return al=js(ws().m(function t(e,r,n,o){var i,a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O,S;return ws().w(function(t){for(;;)switch(t.p=t.n){case 0:if((i=window.dash_clientside=window.dash_clientside||{}).no_update||(Object.defineProperty(i,"no_update",{value:{description:"Return to prevent updating an Output."},writable:!1}),Object.defineProperty(i,"PreventUpdate",{value:{description:"Throw to prevent updating all Outputs."},writable:!1})),a=o.inputs,u=o.outputs,c=o.state,s=Date.now(),l=yl(a),f=yl(c),p={},d=qi,t.p=1,v=r.namespace,b=r.function_name,m=a.map(tl),c&&(m=mr(m,c.map(tl))),i.callback_context={},i.callback_context.triggered=o.changedPropIds.map(function(t){return{prop_id:t,value:l[t]}}),i.callback_context.triggered_id=hl(o.changedPropIds),i.callback_context.inputs_list=a,i.callback_context.inputs=l,i.callback_context.states_list=c,i.callback_context.states=f,i.callback_context.outputs_list=u,g=(y=i[v])[b].apply(y,_s(m)),delete i.callback_context,"function"!=typeof(null===(h=g)||void 0===h?void 0:h.then)){t.n=3;break}return t.n=2,g;case 2:g=t.v;case 3:u&&el(u,g).forEach(function(t){var e=Es(t,2),r=e[0],n=e[1];el(r,n).forEach(function(t){var e=Es(t,2),r=e[0],n=e[1],o=r.id,a=r.property,u=vo(o),c=p[u]=p[u]||{};n!==i.no_update&&(c[rl(a)]=n)})}),t.n=6;break;case 4:if(t.p=4,(S=t.v)!==i.PreventUpdate){t.n=5;break}d=Li,t.n=6;break;case 5:throw d="CLIENTSIDE_ERROR",S;case 6:return t.p=6,delete i.callback_context,w=Date.now()-s,O={__dash_server:w,__dash_client:w,__dash_upload:0,__dash_download:0},n.ui&&e(zs({id:o.output,usage:O,status:d,result:p,inputs:a,state:c})),t.f(6);case 7:return t.a(2,p)}},t,null,[[1,4,6,7]])})),al.apply(this,arguments)}function ul(t,e){return function(r,n){Da(t).reduce(function(t,r,o){var i,a=Es(r,2),u=a[0],c=a[1],s=u,l=[];if(u.startsWith("{")){var f=Es(Yc(u),2);s=f[0],i=f[1],l=function(t,e,r,n){var o=[],i={};return Da(t).forEach(function(a){var u,c,s=(c=2,function(t){if(Array.isArray(t))return t}(u=a)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(u,c)||function(t,e){if(t){if("string"==typeof t)return Kc(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Kc(t,e):void 0}}(u,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=s[0],f=s[1];if(!o.length)if(Array.isArray(f)){var p=(e.parsedChangedPropsIds[r]||e.parsedChangedPropsIds[0])[l];f.includes("MATCH")?i[l]=p:f.includes("ALL")?o=Qc(t,n(),l):f.includes("ALLSMALLER")&&(o=Qc(t,n(),l).filter(function(t){return t[l]s)){t.n=4;break}return t.p=1,y=new Blob([o]).stream().pipeThrough(new CompressionStream("gzip")),t.n=2,new Response(y).blob();case 2:d=t.v,e["Content-Encoding"]="gzip",t.n=4;break;case 3:t.p=3,b=t.v,console.warn("Sending uncompressed payload, because compressing failed:",b);case 4:return t.a(2,fetch(n,gi(r.fetch,{method:"POST",headers:e,body:d})))}},t,null,[[1,3]])}));return function(){return t.apply(this,arguments)}}();return new Promise(function(i,u){var c=function(c){var s=c.status;if(f){var b=a().callbackJobs[f];if(null!=b&&b.outdated)return t(Ks({jobId:f})),i({})}function m(e){if(r.ui){var o={__dash_server:0,__dash_client:Date.now()-y,__dash_upload:h.length,__dash_download:Number(c.headers.get("Content-Length"))};(c.headers.get("Server-Timing")||"").split(",").forEach(function(t){var e=t.split(";")[0],r=t.match(/;dur=[0-9.]+/);r&&(o[e]=Number(r[0].slice(5)))}),t(zs({id:n.output,usage:o,status:s,result:e,inputs:n.inputs,state:n.state}))}}var g=function(t){var r,o=t.multi,a=t.response;if(e.request_post&&e.request_post(n,a),o)r=a;else{var u=n.output,c=u.substr(0,u.lastIndexOf("."));r={[c]:a.props}}m(r),i(r)},w=function(){f&&t(Ks({jobId:f})),p&&t(ul(p,n)),d&&t(ul(d,n))},O=function(){var r=js(ws().m(function r(o){var a,c,s,l,f,p,d,y,h,v,b,g,O,S,j;return ws().w(function(r){for(;;)switch(r.p=r.n){case 0:a=o.body.getReader(),c=new TextDecoder,s="",f=!1,p=function(){var r=js(ws().m(function r(o){return ws().w(function(r){for(;;)switch(r.n){case 0:if(!o.done){r.n=2;break}if(f=!0,w(),!o.error){r.n=1;break}return m({}),u(new Error(o.error.message||"Callback error")),r.a(2);case 1:return e.request_post&&e.request_post(n,l),m(l||{}),i({}),r.a(2);case 2:if(!o.dist){r.n=3;break}return r.n=3,Promise.all(o.dist.map(Ec));case 3:l=o.response,cl(t,o,n);case 4:return r.a(2)}},r)}));return function(t){return r.apply(this,arguments)}}(),r.p=1;case 2:return r.n=3,a.read();case 3:if(d=r.v,y=d.done,h=d.value,!y){r.n=4;break}return r.a(3,14);case 4:s+=c.decode(h,{stream:!0}),v=s.split("\n"),s=v.pop(),b=gs(v),r.p=5,b.s();case 6:if((g=b.n()).done){r.n=10;break}if((O=g.value).trim()){r.n=7;break}return r.a(3,9);case 7:return r.n=8,p(JSON.parse(O));case 8:if(!f){r.n=9;break}return a.cancel(),r.a(2);case 9:r.n=6;break;case 10:r.n=12;break;case 11:r.p=11,S=r.v,b.e(S);case 12:return r.p=12,b.f(),r.f(12);case 13:r.n=2;break;case 14:if(!s.trim()||f){r.n=15;break}return r.n=15,p(JSON.parse(s));case 15:r.n=17;break;case 16:if(r.p=16,j=r.v,f){r.n=17;break}return f=!0,w(),l?(m(l),i({})):(m({}),u(j)),r.a(2);case 17:f||(w(),m(l||{}),i({}));case 18:return r.a(2)}},r,null,[[5,11,12,13],[1,16]])}));return function(t){return r.apply(this,arguments)}}();if(s===qi){if((c.headers.get("Content-Type")||"").includes("application/x-ndjson")&&c.body)return void O(c);c.json().then(function(e){if(!l&&e.cacheKey&&(l=e.cacheKey),!f&&e.job){var r={jobId:e.job,cacheKey:e.cacheKey,cancelInputs:e.cancel,progressDefault:e.progressDefault,output:JSON.stringify(n.outputs)};t(Vs(r)),f=e.job}e.sideUpdate&&t(ul(e.sideUpdate,n)),e.progress&&t(ul(e.progress,n)),!d&&e.progressDefault&&(d=e.progressDefault),o&&void 0===e.response?setTimeout(v,void 0!==o.interval?o.interval:500):e.dist?Promise.all(e.dist.map(Ec)).then(function(){w(),g(e)}):(w(),g(e))})}else s===Li?(w(),m({}),i({})):(w(),u(c))},s=function(){r.ui&&t(zs({id:n.output,status:Gi,result:{},inputs:n.inputs,state:n.state})),u(new Error("Callback failed: the server did not respond."))},v=function(){b().then(c,s)};v()})}function pl(t,e,r,n,o){return dl.apply(this,arguments)}function dl(){return dl=js(ws().m(function t(e,r,n,o,i){var a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O;return ws().w(function(t){for(;;)switch(t.p=t.n){case 0:return r.request_pre&&r.request_pre(o),a=Date.now(),i&&(e(ul(i.running,o)),u=i.runningOff),c=hs(),t.p=1,t.n=2,c.ensureConnected(n);case 2:return t.n=3,c.sendCallback(o,function(t){s=null==t?void 0:t.response,cl(e,t,o)});case 3:if(l=t.v,u&&e(ul(u,o)),"prevent_update"!==l.status){t.n=4;break}return n.ui&&(f=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:f,__dash_client:f,__dash_upload:0,__dash_download:0},status:Li,result:{},inputs:o.inputs,state:o.state}))),t.a(2,{});case 4:if("error"!==l.status){t.n=5;break}throw new Error(l.message||"Callback error");case 5:if(!l.stream){t.n=6;break}return r.request_post&&r.request_post(o,s),n.ui&&(p=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:p,__dash_client:p,__dash_upload:0,__dash_download:0},status:qi,result:s||{},inputs:o.inputs,state:o.state}))),t.a(2,{});case 6:return null!=(d=l.data)&&d.sideUpdate&&e(ul(d.sideUpdate,o)),v=(h=d||{}).multi,b=h.response,r.request_post&&r.request_post(o,b),v?y=b:(m=o.output,g=m.substr(0,m.lastIndexOf(".")),y={[g]:null==b?void 0:b.props}),n.ui&&(w=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:w,__dash_client:w,__dash_upload:0,__dash_download:0},status:qi,result:y||{},inputs:o.inputs,state:o.state}))),t.a(2,y||{});case 7:throw t.p=7,O=t.v,u&&e(ul(u,o)),n.ui&&e(zs({id:o.output,status:Gi,result:{},inputs:o.inputs,state:o.state})),O;case 8:return t.a(2)}},t,null,[[1,7]])})),dl.apply(this,arguments)}function yl(t){if(!t)return{};for(var e={},r=0;rt.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]&&arguments[3],c=arguments.length>4?arguments[4]:void 0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,f=r().paths,d=s?s.location.length?Oe(s.location,t):t:void 0,y=s?s.location.length?Oe(s.location,n):n:void 0,h=!!s&&s.count>0&&Array.isArray(d)&&Array.isArray(y)&&d.length===y.length+s.count,v=h&&s?function(t,e,r,n){var o=Bn({},n.strs),i=Bn({},n.objs),a={},u=n.objIndex?Bn({},n.objIndex):null;return t.forEach(function(t,n){qn(t,function(t,i){var u=t.props&&t.props.id;if(u){var c=mr(e,[r+n]).concat(i);if("object"===Gn(u)){var s=Object.keys(u).sort(),l=Ie(s,u),f=s.join(",");(a[f]=a[f]||[]).push({values:l,path:c})}else o[u]=c}})}),Object.keys(a).forEach(function(t){if(i[t]=mr(i[t]||[],a[t]),u){var e=Bn({},u[t]||{});a[t].forEach(function(t){var r=t.values,n=t.path,o=Jn(r);o in e||(e[o]=n)}),u[t]=e}}),Bn(Bn({strs:o,objs:i},u?{objIndex:u}:{}),{},{events:n.events})}(d.slice(y.length),i.concat(s.location),y.length,f):$n(t,i,f);e(Iu(v)),o=mr(o,Yo(l,v,t,{chunkPath:i,patchAnalysis:c,filterRoot:u}).map(function(t){return gl(gl({},t),{},{predecessors:a})})),h||(o=mr(o,Yo(l,p,n,{removedArrayInputsOnly:!0,newPaths:v,chunkPath:i,filterRoot:u}).map(function(t){return gl(gl({},t),{},{predecessors:a})})))},w=!1;["children"].concat(m).forEach(function(t){var e,r;if(!w)if(t.includes("[]")){var n=Ol(t.split("[]").map(function(t){return t.split(".").filter(function(t){return t})}),1)[0];if(!Oe(n,h))return;g(gl(gl({},b),{},{props:gl(gl({},b.props),h)}),b,v,Yt(h),(e=d,r=Yt(u),e&&r.length&&r.every(function(t){return e.patchedProps[t]})?e:void 0)),w=!0}else{var o=t.split("."),i=Oe(o,h);if(void 0===i)return;var a=mr(Wn(p,c),["props"].concat(o)),s=Oe(a,f),l=Vn(d,o[0]);g(i,s,a,!1,l,1===o.length?function(t,e){var r=null==t?void 0:t.tailAppends[e];return r&&"object"===zn(r)?r:null}(l,o[0]):null)}});var O=Nr(function(t,e){return!(e in u)},h);if(!Ee(O)){var S=r(),j=S.graphs,_=S.paths;o=mr(o,Xo(i,O,j,_).map(function(t){return gl(gl({},t),{},{predecessors:a})}))}}}),i.push(gl(gl({},t),{},{executionMeta:{allProps:Qe(Wo,He(t.getOutputs(r().paths))),updatedProps:He(Qe(function(t){var e=Ol(t,2),r=e[0],n=e[1];return Qe(function(t){return Wo({id:r,property:t})},Yt(n))},Da(f)))}}))),void 0!==p){var h;if(t.callback.no_output){var v=Yt(t.changedPropIds).join(", ");h="Callback error with no output from input ".concat(v)}else{var b=d?Qe(Wo,He([d.outputs])).join(", "):s;h="Callback error updating ".concat(b)}if(c){var m=c.namespace,g=c.function_name;h+=" via clientside function ".concat(m,".").concat(g)}Wu(p,h,e),i.push(gl(gl({},t),{},{executionMeta:{allProps:Qe(Wo,He(t.getOutputs(r().paths))),updatedProps:[]}}))}}}),e(Ws([n.length?Ls(n):null,n.length?Cs(n.length):null,i.length?Us(i):null,o.length?Ms(o):null]))},inputs:["callbacks.executed"]},_l=jl;function El(t){return El="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},El(t)}function Pl(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return kl(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(kl(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,kl(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,kl(f,"constructor",s),kl(s,"constructor",c),c.displayName="GeneratorFunction",kl(s,o,"GeneratorFunction"),kl(f),kl(f,o,"Generator"),kl(f,n,function(){return this}),kl(f,"toString",function(){return"[object Generator]"}),(Pl=function(){return{w:i,m:p}})()}function kl(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}kl=function(t,e,r,n){function i(e,r){kl(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},kl(t,e,r,n)}function Al(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Tl(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(zl(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,zl(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,zl(f,"constructor",s),zl(s,"constructor",c),c.displayName="GeneratorFunction",zl(s,o,"GeneratorFunction"),zl(f),zl(f,o,"Generator"),zl(f,n,function(){return this}),zl(f,"toString",function(){return"[object Generator]"}),(Wl=function(){return{w:i,m:p}})()}function zl(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}zl=function(t,e,r,n){function i(e,r){zl(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},zl(t,e,r,n)}function Vl(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Kl(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r(null!==(n=e.priority)&&void 0!==n?n:"")?-1:1},of=function(t,e){var r=(0,t.getOutputs)(e),n=He(r),o=[],i={};return n.forEach(function(t){var e=t.id,r=t.property,n=vo(e);(i[n]=i[n]||[]).push(r),o.push(Wo({id:n,property:r}))}),{allOutputs:r,allPropIds:o}},af=function(t,e){var r=[].concat(tf(He(t.getInputs(e))),tf(He(t.getState(e)))),n=new Map(r.map(function(t){return[vo(t.id),t]}));return Array.from(n.values())},uf={observer:function(){var t=Zl(Wl().m(function t(e){var r,n,o,i,a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O,S,j,_,E,P,k,A,T,x,I,C,R,D,N;return Wl().w(function(t){for(;;)switch(t.n){case 0:if(r=e.dispatch,n=e.getState,o=n(),i=o.callbacks,a=i.executing,u=i.watched,c=o.config,s=o.hooks,l=o.layout,f=o.paths,p=o.appLifecycle,d=n(),y=d.callbacks.prioritized,p===ii("HYDRATED")){t.n=1;break}return t.a(2);case 1:h=function(t){return Jl(t,c)},v=a.filter(h).length+u.filter(h).length,b=Math.max(0,12-v),y=Fl(nf,y),m=xr(h,y),g=Ql(m,2),w=g[0],O=g[1],j=xr(S=function(t){return!0===Hl(l,f,af(t,f))},w),_=Ql(j,2),E=_[0],P=_[1],k=E.slice(0,b),A=P.slice(0,b-k.length),T=xr(S,O),x=Ql(T,2),I=x[0],C=x[1],R=[].concat(tf(I),tf(k)),D=[].concat(tf(C),tf(A)),R.length&&r(Ws([Bs(R),Ds(Qe(function(t){return vl(t,c,s,f,l,of(t,f),r,n)},R))])),D.length&&(N=Qe(function(t){return Kl(Kl(Kl({},t),of(t,f)),{},{isReady:Hl(l,f,af(t,f))})},D),r(Ws([Bs(D),Is(N)])),N.forEach(function(){var t=Zl(Wl().m(function t(e){var o,i,a;return Wl().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,e.isReady;case 1:if(o=n(),i=o.callbacks.blocked,En(function(t){return t===e||t.isReady===e.isReady},i)){t.n=2;break}return t.a(2);case 2:a=vl(e,c,s,f,l,e,r,n),r(Ws([Gs([e]),Ds([a])]));case 3:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}()));case 2:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}(),inputs:["callbacks.prioritized","callbacks.completed"]},cf=uf,sf=function(){function t(t,e,r,n){this.valueFn=t,this.valueAcc=e,this.keyFn=r,this.xf=n,this.inputs={}}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){var e;for(e in this.inputs)if(Ft(e,this.inputs)&&(t=this.xf["@@transducer/step"](t,this.inputs[e]))["@@transducer/reduced"]){t=t["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){var r=this.keyFn(e);return this.inputs[r]=this.inputs[r]||[r,Ri(this.valueAcc,!1)],this.inputs[r][1]=this.valueFn(this.inputs[r][1],e),t},t}();function lf(t,e,r){return function(n){return new sf(t,e,r,n)}}var ff=qt(me("groupBy",ze(4,[],Re([],lf,function(t,e,r,n){var o=ur(function(n,o){var i=r(o),a=t(Ft(i,n)?n[i]:Ri(e,!1),o);return a&&a["@@transducer/reduced"]?gr(n):(n[i]=a,n)});return ir(o,{},n)}))(function(t,e){return t.push(e),t},[]))),pf=qt(function(t,e){return sn({},e,t)});function df(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return yf(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(yf(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,yf(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,yf(f,"constructor",s),yf(s,"constructor",c),c.displayName="GeneratorFunction",yf(s,o,"GeneratorFunction"),yf(f),yf(f,o,"Generator"),yf(f,n,function(){return this}),yf(f,"toString",function(){return"[object Generator]"}),(df=function(){return{w:i,m:p}})()}function yf(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}yf=function(t,e,r,n){function i(e,r){yf(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},yf(t,e,r,n)}function hf(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}var vf=function(){var t,e=(t=df().m(function t(e){var r,n;return df().w(function(t){for(;;)if(0===t.n)return n=new Promise(function(t){return r=t}),setTimeout(r,e),t.a(2,n)},t)}),function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){hf(i,n,o,a,u,"next",t)}function u(t){hf(i,n,o,a,u,"throw",t)}a(void 0)})});return function(t){return e.apply(this,arguments)}}();function bf(t){return bf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bf(t)}function mf(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}throw new TypeError(bf(t)+" is not iterable")}function gf(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return wf(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(wf(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,wf(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,wf(f,"constructor",s),wf(s,"constructor",c),c.displayName="GeneratorFunction",wf(s,o,"GeneratorFunction"),wf(f),wf(f,o,"Generator"),wf(f,n,function(){return this}),wf(f,"toString",function(){return"[object Generator]"}),(gf=function(){return{w:i,m:p}})()}function wf(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}wf=function(t,e,r,n){function i(e,r){wf(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},wf(t,e,r,n)}function Of(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Sf(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r4&&void 0!==arguments[4]?arguments[4]:null,i=[];for(var a in t)if(t.hasOwnProperty(a)){var u=void 0;try{"function"!=typeof t[a]?(u=Error((n||"React class")+": "+r+" type `"+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+cp(t[a])+"`.")).name="Invariant Violation":u=t[a](e,a,n,r,null,up()())}catch(t){u=t}if(!u||u instanceof Error||i.push((n||"React class")+": type specification of "+r+" `"+a+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+cp(u)+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error){var c=o&&o()||"";i.push("Failed "+r+" type: "+u.message+c)}}return i.join("\n\n")}(e.propTypes,r,"component prop",e);return i&&function(t,e,r){var n,o=t.split("`");if(ie("is marked as required",t)){var i=o[1];n="".concat(i," in ").concat(r),e.id&&(n+=' with ID "'.concat(e.id,'"')),n+=" is required but it was not provided."}else if(ie("Bad object",t))n=t.split("supplied to ")[0]+"supplied to ".concat(r)+".\nBad"+t.split(".\nBad")[1];else{if(!ie("Invalid ",t)||!ie(" supplied to ",t))throw new Error(t);var a=o[1];if(n="Invalid argument `".concat(a,"` passed into ").concat(r),e.id&&(n+=' with ID "'.concat(e.id,'"')),n+=".",ie(", expected ",t)){var u=t.split(", expected ")[1];n+="\nExpected ".concat(u)}if(ie(" of type `",t)){var c=t.split(" of type `")[1].split("`")[0];n+="\nWas supplied type `".concat(c,"`.")}if(Tn(a,e)){var s=JSON.stringify(e[a],null,2);s&&(ie("\n",s)?n+="\nValue provided: \n".concat(s):n+="\nValue provided: ".concat(s))}}throw new Error(n)}(i,r,o.type),n}var lp=w()().createContext({});function fp(t){var e=t.children,r=t.componentPath,n=(0,g().useMemo)(function(){return JSON.stringify(r)},[r]),o=dt(),i=(0,g().useCallback)(function(t){var e=t||{},i=e.extraPath,a=e.rawPath,u=e.filterFunc,c=[n];i?c=[JSON.stringify(mr(r,i))]:a&&(c=[JSON.stringify(a)]);var s=pe([],c,o.getState().loading);return u?s.filter(u).length>0:s.length>0},[n]),a=(0,g().useCallback)(function(t){var e=t||{},o=e.filterFunc,i=e.extraPath,a=e.rawPath;return U(function(t){var e=[n];i?e=[JSON.stringify(mr(r,i))]:a&&(e=[JSON.stringify(a)]);var u=pe([],e,t.loading);return o?u.filter(o).length>0:u.length>0})},[n]),u=(0,g().useMemo)(function(){return{componentPath:r,isLoading:i,useLoading:a,useSelector:U,useStore:dt,useDispatch:bt}},[n]);return w()().createElement(lp.Provider,{value:u},e)}function pp(t){return pp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pp(t)}var dp=["componentPath","_dashprivate_error","_passedComponent","_newRender"],yp=["_dash_error"];function hp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function vp(t,e,r){return(e=function(t){var e=function(t){if("object"!=pp(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=pp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==pp(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function bp(t){return function(t){if(Array.isArray(t))return gp(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||mp(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mp(t,e){if(t){if("string"==typeof t)return gp(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?gp(t,e):void 0}}function gp(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(t)){var i=ba(e),a=n?b.current[i]:void 0;return b.current[i]=t,t.map(function(t,i){if(va(t)){var u=n&&(null==a?void 0:a[i])===t;return C(t,mr(o,["props"].concat(bp(e),[i])),u?0:r)}return t})}return va(t)?C(t,mr(o,["props"].concat(bp(e))),r):t},[o]),D=function(t){for(var e=1;e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(jp(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,jp(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,jp(f,"constructor",s),jp(s,"constructor",c),c.displayName="GeneratorFunction",jp(s,o,"GeneratorFunction"),jp(f),jp(f,o,"Generator"),jp(f,n,function(){return this}),jp(f,"toString",function(){return"[object Generator]"}),(Sp=function(){return{w:i,m:p}})()}function jp(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}jp=function(t,e,r,n){function i(e,r){jp(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},jp(t,e,r,n)}function _p(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Ep(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0:t}))&&t.push(i):i.getOutputs(o).some(function(t){return Array.isArray(t)?t.length>0:t})&&t.push(i),t},[]);t(Ms([].concat(Su(a),Su(u))))}(t,e),t(Eu(ii("HYDRATED")))}))}catch(t){a.frontEnd.length||a.backEnd.length||i(_u({type:"backEnd",error:t})),p=!0}finally{r(p)}}})}Pp.propTypes={appLifecycle:_().oneOf([ii("STARTED"),ii("HYDRATED"),ii("DESTROYED")]),dispatch:_().func,dependenciesRequest:_().object,graphs:_().object,hooks:_().object,layoutRequest:_().object,layout:_().any,history:_().any,error:_().object,config:_().object};var Ap=lt(function(t){return{appLifecycle:t.appLifecycle,dependenciesRequest:t.dependenciesRequest,hooks:t.hooks,layoutRequest:t.layoutRequest,layout:t.layout,graphs:t.graphs,history:t.history,error:t.error,config:t.config}},function(t){return{dispatch:t}})(Pp);function Tp(t){return t.isLoading?w()().createElement("div",{className:"_dash-loading-callback"}):null}Tp.propTypes={isLoading:_().bool.isRequired};var xp=lt(function(t){return{isLoading:t.isLoading}})(Tp);s(),d(),l(),p(),f(),y();var Ip=r(217),Cp={};function Rp(t){var e=t.dispatch,r=t.history,n=w()().createElement("span",{key:"undoLink",className:"_dash-undo-redo-link",onClick:function(){return e(Bu)}},w()().createElement("div",{className:"_dash-icon-undo"},"↺"),w()().createElement("div",{className:"_dash-undo-redo-label"},"undo")),o=w()().createElement("span",{key:"redoLink",className:"_dash-undo-redo-link",onClick:function(){return e(Fu)}},w()().createElement("div",{className:"_dash-icon-redo"},"↻"),w()().createElement("div",{className:"_dash-undo-redo-label"},"redo"));return w()().createElement("div",{className:"_dash-undo-redo"},w()().createElement("div",null,r.past.length>0?n:null,r.future.length>0?o:null))}Cp.styleTagTransform=function t(){return t.c||(t.c=r.n(y()))}()(),Cp.setAttributes=function t(){return t.c||(t.c=r.n(p()))}()(),Cp.insert=function t(){return t.c||(t.c=r.n(l()))}()().bind(null,"head"),Cp.domAPI=function t(){return t.c||(t.c=r.n(d()))}()(),Cp.insertStyleElement=function t(){return t.c||(t.c=r.n(f()))}()(),function t(){return t.c||(t.c=r.n(s()))}()()(Ip.A,Cp),Ip.A&&Ip.A.locals&&Ip.A.locals,Rp.propTypes={history:_().object,dispatch:_().func};var Dp=lt(function(t){return{history:t.history}},function(t){return{dispatch:t}})(Rp),Np=Ot(function(t){return function(e,r){return t(e,r)?-1:t(r,e)?1:0}}),Mp=qt(function(t,e){return tt.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(r.content.files);try{for(a.s();!(o=a.n()).done;){var u=o.value;if(!u.is_css){i=!1;break}i=!0;for(var c=[],s=document.evaluate('//link[contains(@href, "'.concat(u.url,'")]'),this._head),l=s.iterateNext();l;)c.push(l),l=s.iterateNext();if(we(function(t){return t.setAttribute("disabled","disabled")},c),u.modified>0){var f=document.createElement("link");f.href="".concat(u.url,"?m=").concat(u.modified),f.type="text/css",f.rel="stylesheet",this._head.appendChild(f)}}}catch(t){a.e(t)}finally{a.f()}i||window.location.reload()}else null!==this.state.intervalId&&500===r.status&&(this._retry>this.state.max_retry&&(this.clearInterval(),window.alert("Hot reloading is disabled after failing ".concat(this._retry," times. ")+"Please check your application for errors, then refresh the page.")),this._retry++)}},{key:"componentDidMount",value:function(){var t=this.props,e=t.dispatch,r=t.reloadRequest,n=this.state,o=n.disabled,i=n.interval;if(!o&&!this.state.intervalId){var a=window.setInterval(function(){"loading"!==r.status&&e(wc("_reload-hash","GET","reloadRequest"))},i);this.setState({intervalId:a})}}},{key:"componentWillUnmount",value:function(){!this.state.disabled&&this.state.intervalId&&this.clearInterval()}},{key:"render",value:function(){return null}}],o=[{key:"getDerivedStateFromProps",value:function(t){return Ee(t.reloadRequest)||"loading"===t.reloadRequest.status?null:{reloadRequest:t.reloadRequest}}}],n&&Lp(r.prototype,n),o&&Lp(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(w()().Component);Jp.defaultProps={},Jp.propTypes={id:_().string,config:_().object,reloadRequest:_().object,dispatch:_().func,interval:_().number};var $p=lt(function(t){return{config:t.config,reloadRequest:t.reloadRequest}},function(t){return{dispatch:t}})(Jp);function Wp(){var t=document.getElementById("_dash-config");return JSON.parse(null!=t&&t.textContent?null==t?void 0:t.textContent:"{}")}var zp=qt(function(t,e){var r={};return mt(e.length,function(){var n=t.apply(this,arguments);return Ft(n,r)||(r[n]=e.apply(this,arguments)),r[n]})}),Vp=zp;function Kp(t){return Kp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kp(t)}function Yp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Qp(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length)&&Tn(String(r),t))return t[r]}}function sd(t,e){if("string"==typeof e&&Tn(e,t))return t[e]}function ld(t,e){if(Array.isArray(e)){var r,n=t,o=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return ud(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ud(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(e);try{for(o.s();!(r=o.n()).done;){var i=r.value;if(Array.isArray(n))n=cd(n,i);else{if(null===n||"object"!==ad(n))return;n=sd(n,i)}}}catch(t){o.e(t)}finally{o.f()}return n}}function fd(t){return fd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fd(t)}function pd(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return dd(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(dd(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,dd(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,dd(f,"constructor",s),dd(s,"constructor",c),c.displayName="GeneratorFunction",dd(s,o,"GeneratorFunction"),dd(f),dd(f,o,"Generator"),dd(f,n,function(){return this}),dd(f,"toString",function(){return"[object Generator]"}),(pd=function(){return{w:i,m:p}})()}function dd(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}dd=function(t,e,r,n){function i(e,r){dd(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},dd(t,e,r,n)}function yd(t){return function(t){if(Array.isArray(t))return Od(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||wd(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function vd(t){for(var e=1;e=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function wd(t,e){if(t){if("string"==typeof t)return Od(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Od(t,e):void 0}}function Od(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&(console.log("[Dash] Re-triggering ".concat(r.length," persistent callback(s)")),e.dispatch(Ms(r)))}}},a.onDisconnected=function(t){console.log("[Dash] WebSocket disconnected: ".concat(t)),c=!0},a.onError=function(t,e){console.error("[Dash] WebSocket error: ".concat(t),e)},document.addEventListener("visibilitychange",function(){"visible"===document.visibilityState&&(a.connected?a.notifyTabVisible():c&&(console.log("[Dash] Tab visible, reconnecting WebSocket..."),a.ensureConnected(r).catch(function(t){return console.error("[Dash] Failed to reconnect:",t)})))}),null!==(i=r.websocket)&&void 0!==i&&i.enabled){t.n=3;break}return t.a(2);case 3:return s=Ed(r),t.p=4,t.n=5,a.connect(r.websocket.worker_url,s,r.websocket.inactivity_timeout);case 5:t.n=7;break;case 6:t.p=6,l=t.v,console.error("[Dash] Failed to connect to WebSocket worker:",l);case 7:return t.a(2)}},t,null,[[4,6]])}),_d=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){md(i,n,o,a,u,"next",t)}function u(t){md(i,n,o,a,u,"throw",t)}a(void 0)})},_d.apply(this,arguments)}function Ed(t){var e;if(null===(e=t.websocket)||void 0===e||!e.url)throw new Error("WebSocket URL not configured");var r="https:"===window.location.protocol?"wss:":"ws:",n=window.location.host;return"".concat(r,"//").concat(n).concat(t.websocket.url)}function Pd(t){return Pd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pd(t)}function kd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Ad(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r1&&void 0!==arguments[1]?arguments[1]:"about:blank";if(""===t)return t;var r=t.replace(Kd,"").replace(Yd,"").replace(Qd,function(t,e){return String.fromCharCode(e)}).trim();return Vd.test(r)?e:t}:Xd.clean_url,Xd.Patch=ac,window.DashRenderer=Fd}(),window.dash_renderer={}}(); \ No newline at end of file +!function(){var t={296(t,e,r){var n;window,t.exports=(n=r(609),function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e){t.exports=n},function(t,e,r){"use strict";r.r(e),r.d(e,"asyncDecorator",function(){return a}),r.d(e,"inheritAsyncDecorator",function(){return u}),r.d(e,"isReady",function(){return c}),r.d(e,"History",function(){return f});var n=r(0);function o(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var a=t.apply(e,r);function u(t){o(a,n,i,u,c,"next",t)}function c(t){o(a,n,i,u,c,"throw",t)}u(void 0)})}}var a=function(t,e){var r,o={isReady:new Promise(function(t){r=t}),get:Object(n.lazy)(function(){return Promise.resolve(e()).then(function(t){return setTimeout(i(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r(!0);case 2:o.isReady=!0;case 3:case"end":return t.stop()}},t)})),0),t})})};return Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},u=function(t,e){Object.defineProperty(t,"_dashprivate_isLazyComponentReady",{get:function(){return c(e)}})},c=function(t){return t&&t._dashprivate_isLazyComponentReady};function s(t,e){for(var r=0;r=19&&Symbol.for("react.element")!==Symbol.for("react.transitional.element")){var r=Symbol.for("react.transitional.element"),n=Symbol.for;Symbol.for=function(t){return"react.element"===t?r:n.apply(Symbol,arguments)}}window.ReactJSXRuntime||(window.ReactJSXRuntime={jsx:o,jsxs:o,jsxDEV:o,Fragment:t.Fragment})}function o(e,r,n){var o={},i=null;if(null!=r)for(var a in void 0!==r.key&&(o.key=""+r.key),r)Object.prototype.hasOwnProperty.call(r,a)&&"key"!==a&&"__self"!==a&&"__source"!==a&&("children"===a?i=r[a]:o[a]=r[a]);return void 0!==n&&(o.key=""+n),null!=i?Array.isArray(i)?t.createElement.apply(t,[e,o].concat(i)):t.createElement(e,o,i):t.createElement(e,o)}}()},217(t,e,r){"use strict";var n=r(601),o=r.n(n),i=r(314),a=r.n(i)()(o());a.push([t.id,"._dash-undo-redo {\n position: fixed;\n bottom: 30px;\n left: 30px;\n font-size: 20px;\n text-align: center;\n z-index: 9999;\n background-color: rgba(255, 255, 255, 0.9);\n}\n._dash-undo-redo > div {\n position: relative;\n}\n._dash-undo-redo-link {\n color: #0074d9;\n cursor: pointer;\n margin-left: 10px;\n margin-right: 10px;\n display: inline-block;\n opacity: 0.2;\n}\n._dash-undo-redo-link:hover {\n opacity: 1;\n}\n._dash-undo-redo-link ._dash-icon-undo {\n font-size: 20px;\n transform: rotate(270deg);\n}\n._dash-undo-redo-link ._dash-icon-redo {\n font-size: 20px;\n transform: rotate(90deg);\n}\n._dash-undo-redo-link ._dash-undo-redo-label {\n font-size: 15px;\n}\n",""]),e.A=a},314(t){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r="",n=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),n&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r}).join("")},e.i=function(t,r,n,o,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(n)for(var u=0;u0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=i),r&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=r):l[2]=r),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},601(t){"use strict";t.exports=function(t){return t[1]}},131(t,e){function r(t,e,r,n){var i={};return function(a){if(!i[a]){var u={},c=[],s=[];for(s.push({node:a,processed:!1});s.length>0;){var l=s[s.length-1],f=l.processed,p=l.node;if(f)s.pop(),c.pop(),u[p]=!1,i[p]=!0,e&&0!==t[p].length||r.push(p);else{if(i[p]){s.pop();continue}if(u[p]){if(n){s.pop();continue}throw c.push(p),new o(c)}u[p]=!0,c.push(p);for(var d=t[p],y=d.length-1;y>=0;y--)s.push({node:d[y],processed:!1});l.processed=!0}}}}}var n=e.DepGraph=function(t){this.nodes={},this.outgoingEdges={},this.incomingEdges={},this.circular=t&&!!t.circular};n.prototype={size:function(){return Object.keys(this.nodes).length},addNode:function(t,e){this.hasNode(t)||(this.nodes[t]=2===arguments.length?e:t,this.outgoingEdges[t]=[],this.incomingEdges[t]=[])},removeNode:function(t){this.hasNode(t)&&(delete this.nodes[t],delete this.outgoingEdges[t],delete this.incomingEdges[t],[this.incomingEdges,this.outgoingEdges].forEach(function(e){Object.keys(e).forEach(function(r){var n=e[r].indexOf(t);n>=0&&e[r].splice(n,1)},this)}))},hasNode:function(t){return this.nodes.hasOwnProperty(t)},getNodeData:function(t){if(this.hasNode(t))return this.nodes[t];throw new Error("Node does not exist: "+t)},setNodeData:function(t,e){if(!this.hasNode(t))throw new Error("Node does not exist: "+t);this.nodes[t]=e},addDependency:function(t,e){if(!this.hasNode(t))throw new Error("Node does not exist: "+t);if(!this.hasNode(e))throw new Error("Node does not exist: "+e);return-1===this.outgoingEdges[t].indexOf(e)&&this.outgoingEdges[t].push(e),-1===this.incomingEdges[e].indexOf(t)&&this.incomingEdges[e].push(t),!0},removeDependency:function(t,e){var r;this.hasNode(t)&&(r=this.outgoingEdges[t].indexOf(e))>=0&&this.outgoingEdges[t].splice(r,1),this.hasNode(e)&&(r=this.incomingEdges[e].indexOf(t))>=0&&this.incomingEdges[e].splice(r,1)},clone:function(){var t=this,e=new n;return Object.keys(t.nodes).forEach(function(r){e.nodes[r]=t.nodes[r],e.outgoingEdges[r]=t.outgoingEdges[r].slice(0),e.incomingEdges[r]=t.incomingEdges[r].slice(0)}),e},directDependenciesOf:function(t){if(this.hasNode(t))return this.outgoingEdges[t].slice(0);throw new Error("Node does not exist: "+t)},directDependantsOf:function(t){if(this.hasNode(t))return this.incomingEdges[t].slice(0);throw new Error("Node does not exist: "+t)},dependenciesOf:function(t,e){if(this.hasNode(t)){var n=[];r(this.outgoingEdges,e,n,this.circular)(t);var o=n.indexOf(t);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+t)},dependantsOf:function(t,e){if(this.hasNode(t)){var n=[];r(this.incomingEdges,e,n,this.circular)(t);var o=n.indexOf(t);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+t)},overallOrder:function(t){var e=this,n=[],o=Object.keys(this.nodes);if(0===o.length)return n;if(!this.circular){var i=r(this.outgoingEdges,!1,[],this.circular);o.forEach(function(t){i(t)})}var a=r(this.outgoingEdges,t,n,this.circular);return o.filter(function(t){return 0===e.incomingEdges[t].length}).forEach(function(t){a(t)}),this.circular&&o.filter(function(t){return-1===n.indexOf(t)}).forEach(function(t){a(t)}),n},entryNodes:function(){var t=this;return Object.keys(this.nodes).filter(function(e){return 0===t.incomingEdges[e].length})}},n.prototype.directDependentsOf=n.prototype.directDependantsOf,n.prototype.dependentsOf=n.prototype.dependantsOf;var o=e.DepGraphCycleError=function(t){var e="Dependency Cycle Found: "+t.join(" -> "),r=new Error(e);return r.cyclePath=t,Object.setPrototypeOf(r,Object.getPrototypeOf(this)),Error.captureStackTrace&&Error.captureStackTrace(r,o),r};o.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(o,Error)},886(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},799(t,e){"use strict";var r="function"==typeof Symbol&&Symbol.for,n=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,i=r?Symbol.for("react.fragment"):60107,a=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,s=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,d=r?Symbol.for("react.suspense"):60113,y=r?Symbol.for("react.suspense_list"):60120,h=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116,b=r?Symbol.for("react.block"):60121,m=r?Symbol.for("react.fundamental"):60117,g=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119;function O(t){if("object"==typeof t&&null!==t){var e=t.$$typeof;switch(e){case n:switch(t=t.type){case l:case f:case i:case u:case a:case d:return t;default:switch(t=t&&t.$$typeof){case s:case p:case v:case h:case c:return t;default:return e}}case o:return e}}}function S(t){return O(t)===f}e.AsyncMode=l,e.ConcurrentMode=f,e.ContextConsumer=s,e.ContextProvider=c,e.Element=n,e.ForwardRef=p,e.Fragment=i,e.Lazy=v,e.Memo=h,e.Portal=o,e.Profiler=u,e.StrictMode=a,e.Suspense=d,e.isAsyncMode=function(t){return S(t)||O(t)===l},e.isConcurrentMode=S,e.isContextConsumer=function(t){return O(t)===s},e.isContextProvider=function(t){return O(t)===c},e.isElement=function(t){return"object"==typeof t&&null!==t&&t.$$typeof===n},e.isForwardRef=function(t){return O(t)===p},e.isFragment=function(t){return O(t)===i},e.isLazy=function(t){return O(t)===v},e.isMemo=function(t){return O(t)===h},e.isPortal=function(t){return O(t)===o},e.isProfiler=function(t){return O(t)===u},e.isStrictMode=function(t){return O(t)===a},e.isSuspense=function(t){return O(t)===d},e.isValidElementType=function(t){return"string"==typeof t||"function"==typeof t||t===i||t===f||t===u||t===a||t===d||t===y||"object"==typeof t&&null!==t&&(t.$$typeof===v||t.$$typeof===h||t.$$typeof===c||t.$$typeof===s||t.$$typeof===p||t.$$typeof===m||t.$$typeof===g||t.$$typeof===w||t.$$typeof===b)},e.typeOf=O},363(t,e,r){"use strict";t.exports=r(799)},609(t){"use strict";t.exports=window.React}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={id:n,exports:{}};return t[n](i,i.exports,r),i.exports}r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.cw=function(t){var e;return function(){if(t){var r=t;t=0,e={exports:{}},r.call(e.exports,e,e.exports)}return e.exports}},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.nc=void 0,function(){"use strict";var t="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==r.g&&r.g||{},e="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,a="ArrayBuffer"in t;if(a)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(t){return t&&u.indexOf(Object.prototype.toString.call(t))>-1};function s(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function l(t){return"string"!=typeof t&&(t=String(t)),t}function f(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function p(t){this.map={},t instanceof p?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function d(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function y(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function h(t){var e=new FileReader,r=y(e);return e.readAsArrayBuffer(t),r}function v(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(t){var r;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():a&&o&&(r=t)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=v(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(t)||c(t))?this._bodyArrayBuffer=v(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=d(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer)return d(this)||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer));if(o)return this.blob().then(h);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,n,o,i=d(this);if(i)return i;if(this._bodyBlob)return t=this._bodyBlob,r=y(e=new FileReader),o=(n=/charset=([A-Za-z0-9_-]+)/.exec(t.type))?n[1]:"utf-8",e.readAsText(t,o),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?o:n),this.mode=r.mode||this.mode||null,this.signal=r.signal||this.signal||function(){if("AbortController"in t)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(i),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==r.cache&&"no-cache"!==r.cache)){var a=/([?&])_=[^&]*/;a.test(this.url)?this.url=this.url.replace(a,"$1_="+(new Date).getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}function w(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function O(t,e){if(!(this instanceof O))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new p(e.headers),this.url=e.url||"",this._initBody(t)}g.prototype.clone=function(){return new g(this,{body:this._bodyInit})},b.call(g.prototype),b.call(O.prototype),O.prototype.clone=function(){return new O(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},O.error=function(){var t=new O(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var S=[301,302,303,307,308];O.redirect=function(t,e){if(-1===S.indexOf(e))throw new RangeError("Invalid status code");return new O(null,{status:e,headers:{location:t}})};var j=t.DOMException;try{new j}catch(t){(j=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),j.prototype.constructor=j}function _(e,r){return new Promise(function(n,i){var u=new g(e,r);if(u.signal&&u.signal.aborted)return i(new j("Aborted","AbortError"));var c=new XMLHttpRequest;function f(){c.abort()}if(c.onload=function(){var t,e,r={statusText:c.statusText,headers:(t=c.getAllResponseHeaders()||"",e=new p,t.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t}).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();try{e.append(n,o)}catch(t){console.warn("Response "+t.message)}}}),e)};0===u.url.indexOf("file://")&&(c.status<200||c.status>599)?r.status=200:r.status=c.status,r.url="responseURL"in c?c.responseURL:r.headers.get("X-Request-URL");var o="response"in c?c.response:c.responseText;setTimeout(function(){n(new O(o,r))},0)},c.onerror=function(){setTimeout(function(){i(new TypeError("Network request failed"))},0)},c.ontimeout=function(){setTimeout(function(){i(new TypeError("Network request timed out"))},0)},c.onabort=function(){setTimeout(function(){i(new j("Aborted","AbortError"))},0)},c.open(u.method,function(e){try{return""===e&&t.location.href?t.location.href:e}catch(t){return e}}(u.url),!0),"include"===u.credentials?c.withCredentials=!0:"omit"===u.credentials&&(c.withCredentials=!1),"responseType"in c&&(o?c.responseType="blob":a&&(c.responseType="arraybuffer")),r&&"object"==typeof r.headers&&!(r.headers instanceof p||t.Headers&&r.headers instanceof t.Headers)){var d=[];Object.getOwnPropertyNames(r.headers).forEach(function(t){d.push(s(t)),c.setRequestHeader(t,l(r.headers[t]))}),u.headers.forEach(function(t,e){-1===d.indexOf(e)&&c.setRequestHeader(e,t)})}else u.headers.forEach(function(t,e){c.setRequestHeader(e,t)});u.signal&&(u.signal.addEventListener("abort",f),c.onreadystatechange=function(){4===c.readyState&&u.signal.removeEventListener("abort",f)}),c.send(void 0===u._bodyInit?null:u._bodyInit)})}_.polyfill=!0,t.fetch||(t.fetch=_,t.Headers=p,t.Request=g,t.Response=O)}(),function(){"use strict";var t=r.cw(function(t,e){function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}var n=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.server_context"),f=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),h=Symbol.for("react.lazy");Symbol.for("react.offscreen");Symbol.for("react.module.reference"),e.isContextConsumer=function(t){return function(t){if("object"===r(t)&&null!==t){var e=t.$$typeof;switch(e){case n:switch(t=t.type){case i:case u:case a:case p:case d:return t;default:switch(t=t&&t.$$typeof){case l:case s:case f:case h:case y:case c:return t;default:return e}}case o:return e}}}(t)===s}}),e=r.cw(function(e,r){e.exports=t()}),n=r.cw(function(t,e){var r=a();t.exports=function(t){var e=typeof t;if("string"===e){var n=t;if(0===(t=+t)&&r(n))return!1}else if("number"!==e)return!1;return t-t<1}}),o=r.cw(function(t,e){var r=c(),n={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},a={};function u(t){return r.isMemo(t)?i:a[t.$$typeof]||n}a[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a[r.Memo]=i;var s=Object.defineProperty,l=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,y=Object.prototype;t.exports=function t(e,r,n){if("string"!=typeof r){if(y){var i=d(r);i&&i!==y&&t(e,i,n)}var a=l(r);f&&(a=a.concat(f(r)));for(var c=u(e),h=u(r),v=0;v0?" ".concat(r.layer):""," {")),n+=r.css,o&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var i=r.sourceMap;i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}}),y=r.cw(function(t,e){t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}),h=r.cw(function(t,e){var r=g(),n="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},o=r.useState,i=r.useEffect,a=r.useLayoutEffect,u=r.useDebugValue;function c(t){var e=t.getSnapshot;t=t.value;try{var r=e();return!n(t,r)}catch(t){return!0}}var s="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(t,e){return e()}:function(t,e){var r=e(),n=o({inst:{value:r,getSnapshot:e}}),s=n[0].inst,l=n[1];return a(function(){s.value=r,s.getSnapshot=e,c(s)&&l({inst:s})},[t,r,e]),i(function(){return c(s)&&l({inst:s}),t(function(){c(s)&&l({inst:s})})},[t]),u(r),r};e.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:s}),v=r.cw(function(t,e){var r=g(),n=b(),o="function"==typeof Object.is?Object.is:function(t,e){return t===e&&(0!==t||1/t==1/e)||t!=t&&e!=e},i=n.useSyncExternalStore,a=r.useRef,u=r.useEffect,c=r.useMemo,s=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(t,e,r,n,l){var f=a(null);if(null===f.current){var p={hasValue:!1,value:null};f.current=p}else p=f.current;f=c(function(){function t(t){if(!u){if(u=!0,i=t,t=n(t),void 0!==l&&p.hasValue){var e=p.value;if(l(e,t))return a=e}return a=t}if(e=a,o(i,t))return e;var r=n(t);return void 0!==l&&l(e,r)?(i=t,e):(i=t,a=r)}var i,a,u=!1,c=void 0===r?null:r;return[function(){return t(e())},null===c?void 0:function(){return t(c())}]},[e,r,n,l]);var d=i(t,f[0],f[1]);return u(function(){p.hasValue=!0,p.value=d},[d]),s(d),d}}),b=r.cw(function(t,e){t.exports=h()}),m=r.cw(function(t,e){t.exports=v()}),g=function(){return r(609)};function w(){return w.c||(w.c=r.n(g()))}r(186),g();var O=window.ReactDOM,S=r.n(O),j=window.PropTypes,_=r.n(j);b(),m();var E=function(t){t()},P=function(){return E},k=Symbol.for("react-redux-context"),A="undefined"!=typeof globalThis?globalThis:{};function T(){var t;if(!g().createContext)return{};var e=null!=(t=A[k])?t:A[k]=new Map,r=e.get(g().createContext);return r||(r=g().createContext(null),e.set(g().createContext,r)),r}var x=T();function I(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x;return function(){return(0,g().useContext)(t)}}var C=I(),R=function(){throw new Error("uSES not initialized!")},D=R,N=function(t,e){return t===e};function M(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?C:I(t);return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="function"==typeof r?{equalityFn:r}:r,o=n.equalityFn,i=void 0===o?N:o,a=n.stabilityCheck,u=void 0===a?void 0:a;n.noopCheck;var c=e(),s=c.store,l=c.subscription,f=c.getServerState,p=c.stabilityCheck,d=(c.noopCheck,(0,g().useRef)(!0),(0,g().useCallback)({[t.name]:e=>t(e)}[t.name],[t,p,u])),y=D(l.addNestedSub,s.getState,f||s.getState,d,i);return(0,g().useDebugValue)(y),y}}var U=M();function q(){return q=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]?arguments[3]:{},i=(o.pure,o.areStatesEqual),a=void 0===i?st:i,u=o.areOwnPropsEqual,c=void 0===u?et:u,s=o.areStatePropsEqual,l=void 0===s?et:s,f=o.areMergedPropsEqual,p=void 0===f?et:f,d=o.forwardRef,y=void 0!==d&&d,h=o.context,v=void 0===h?x:h,b=function(t){return t?"function"==typeof t?$(t):z(t,"mapStateToProps"):H(function(){return{}})}(e),m=function(t){return t&&"object"===V(t)?H(function(e){return function(t,e){var r={},n=function(){var n=t[o];"function"==typeof n&&(r[o]=function(){return e(n.apply(void 0,arguments))})};for(var o in t)n();return r}(t,e)}):t?"function"==typeof t?$(t):z(t,"mapDispatchToProps"):H(function(t){return{dispatch:t}})}(r),w=function(t){return t?"function"==typeof t?function(t){return function(e,r){r.displayName;var n,o=r.areMergedPropsEqual,i=!1;return function(e,r,a){var u=t(e,r,a);return i?o(u,n)||(n=u):(i=!0,n=u),n}}}(t):z(t,"mergeProps"):function(){return K}}(n),O=Boolean(e);return function(e){var r=e.displayName||e.name||"Component",n="Connect(".concat(r,")"),o={shouldHandleStateChanges:O,displayName:n,wrappedComponentName:r,WrappedComponent:e,initMapStateToProps:b,initMapDispatchToProps:m,initMergeProps:w,areStatesEqual:a,areStatePropsEqual:l,areOwnPropsEqual:c,areMergedPropsEqual:p};function i(r){var n=g().useMemo(function(){var t=r.reactReduxForwardedRef,e=L(r,it);return[r.context,t,e]},[r]),i=rt(n,3),a=i[0],u=i[1],c=i[2],s=g().useMemo(function(){return a&&a.Consumer&&(0,t().isContextConsumer)(g().createElement(a.Consumer,null))?a:v},[a,v]),l=g().useContext(s),f=Boolean(r.store)&&Boolean(r.store.getState)&&Boolean(r.store.dispatch),p=Boolean(l)&&Boolean(l.store),d=f?r.store:l.store,y=p?l.getServerState:d.getState,h=g().useMemo(function(){return function(t,e){var r=e.initMapStateToProps,n=e.initMapDispatchToProps,o=e.initMergeProps,i=L(e,F);return B(r(t,i),n(t,i),o(t,i),t,i)}(d.dispatch,o)},[d]),b=g().useMemo(function(){if(!O)return ut;var t=Q(d,f?void 0:l.subscription),e=t.notifyNestedSubs.bind(t);return[t,e]},[d,f,l]),m=rt(b,2),w=m[0],S=m[1],j=g().useMemo(function(){return f?l:q({},l,{subscription:w})},[f,l,w]),_=g().useRef(),E=g().useRef(c),P=g().useRef(),k=g().useRef(!1),A=(g().useRef(!1),g().useRef(!1)),T=g().useRef();X(function(){return A.current=!0,function(){A.current=!1}},[]);var x,I,C,R=g().useMemo(function(){return function(){return P.current&&c===E.current?P.current:h(d.getState(),c)}},[d,c]),D=g().useMemo(function(){return function(t){return w?function(t,e,r,n,o,i,a,u,c,s,l){if(!t)return function(){};var f=!1,p=null,d=function(){if(!f&&u.current){var t,r,d=e.getState();try{t=n(d,o.current)}catch(t){r=t,p=t}r||(p=null),t===i.current?a.current||s():(i.current=t,c.current=t,a.current=!0,l())}};return r.onStateChange=d,r.trySubscribe(),d(),function(){if(f=!0,r.tryUnsubscribe(),r.onStateChange=null,p)throw p}}(O,d,w,h,E,_,k,A,P,S,t):function(){}}},[w]);x=ct,I=[E,_,k,c,P,S],X(function(){return x.apply(void 0,function(t){if(Array.isArray(t))return ot(t)}(t=I)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||nt(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var t},void 0);try{C=at(D,R,y?function(){return h(y(),c)}:R)}catch(t){throw T.current&&(t.message+="\nThe error may be correlated with this previous error:\n".concat(T.current.stack,"\n\n")),t}X(function(){T.current=void 0,P.current=void 0,_.current=C});var N=g().useMemo(function(){return g().createElement(e,q({},C,{ref:u}))},[u,e,C]);return g().useMemo(function(){return O?g().createElement(s.Provider,{value:j},N):N},[s,N,j])}var u=g().memo(i);if(u.WrappedComponent=e,u.displayName=i.displayName=n,y){var s=g().forwardRef(function(t,e){return g().createElement(u,q({},t,{reactReduxForwardedRef:e}))});return s.displayName=n,s.WrappedComponent=e,G()()(s,e)}return G()()(u,e)}},ft=function(t){var e=t.store,r=t.context,n=t.children,o=t.serverState,i=t.stabilityCheck,a=void 0===i?"once":i,u=t.noopCheck,c=void 0===u?"once":u,s=g().useMemo(function(){var t=Q(e);return{store:e,subscription:t,getServerState:o?function(){return o}:void 0,stabilityCheck:a,noopCheck:c}},[e,o,a,c]),l=g().useMemo(function(){return e.getState()},[e]);X(function(){var t=s.subscription;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),l!==e.getState()&&t.notifyNestedSubs(),function(){t.tryUnsubscribe(),t.onStateChange=void 0}},[s,l]);var f=r||x;return g().createElement(f.Provider,{value:s},n)};function pt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?C:I(t);return function(){return e().store}}var dt=pt();function yt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:x,e=t===x?dt:pt(t);return function(){return e().dispatch}}var ht,vt,bt=yt();function mt(t,e){switch(t){case 0:return function(){return e.apply(this,arguments)};case 1:return function(t){return e.apply(this,arguments)};case 2:return function(t,r){return e.apply(this,arguments)};case 3:return function(t,r,n){return e.apply(this,arguments)};case 4:return function(t,r,n,o){return e.apply(this,arguments)};case 5:return function(t,r,n,o,i){return e.apply(this,arguments)};case 6:return function(t,r,n,o,i,a){return e.apply(this,arguments)};case 7:return function(t,r,n,o,i,a,u){return e.apply(this,arguments)};case 8:return function(t,r,n,o,i,a,u,c){return e.apply(this,arguments)};case 9:return function(t,r,n,o,i,a,u,c,s){return e.apply(this,arguments)};case 10:return function(t,r,n,o,i,a,u,c,s,l){return e.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}function wt(t){return null!=t&&"object"===gt(t)&&!0===t["@@functional/placeholder"]}function Ot(t){return function e(r){return 0===arguments.length||wt(r)?e:t.apply(this,arguments)}}ht=v().useSyncExternalStoreWithSelector,D=ht,function(t){at=t}(h().useSyncExternalStore),vt=O.unstable_batchedUpdates,E=vt;var St=Ot(function(t){var e,r=!1;return mt(t.length,function(){return r?e:(r=!0,e=t.apply(this,arguments))})}),jt=St;function _t(t){return _t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_t(t)}function Et(t,e,r){return(e=function(t){var e=function(t){if("object"!=_t(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=_t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==_t(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Pt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function kt(t){for(var e=1;e=0;)Ft(e=zt[r],t)&&!Kt(n,e)&&(n[n.length]=e),r-=1;return n}):Ot(function(t){return Object(t)!==t?[]:Object.keys(t)}),Qt=Ot(function(t){return null===t?"Null":void 0===t?"Undefined":Object.prototype.toString.call(t).slice(8,-1)});function Xt(t){return Xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xt(t)}function Zt(t,e,r,n){var o=Lt(t);function i(t,e){return te(t,e,r.slice(),n.slice())}return!Gt(function(t,e){return!Gt(i,e,t)},Lt(e),o)}function te(t,e,r,n){if(Bt(t,e))return!0;var o,i,a=Qt(t);if(a!==Qt(e))return!1;if("function"==typeof t["fantasy-land/equals"]||"function"==typeof e["fantasy-land/equals"])return"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e)&&"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t);if("function"==typeof t.equals||"function"==typeof e.equals)return"function"==typeof t.equals&&t.equals(e)&&"function"==typeof e.equals&&e.equals(t);switch(a){case"Arguments":case"Array":case"Object":if("function"==typeof t.constructor&&"Promise"===(o=t.constructor,null==(i=String(o).match(/^function (\w*)/))?"":i[1]))return t===e;break;case"Boolean":case"Number":case"String":if(Xt(t)!==Xt(e)||!Bt(t.valueOf(),e.valueOf()))return!1;break;case"Date":if(!Bt(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(t.source!==e.source||t.global!==e.global||t.ignoreCase!==e.ignoreCase||t.multiline!==e.multiline||t.sticky!==e.sticky||t.unicode!==e.unicode)return!1}for(var u=r.length-1;u>=0;){if(r[u]===t)return n[u]===e;u-=1}switch(a){case"Map":return t.size===e.size&&Zt(t.entries(),e.entries(),r.concat([t]),n.concat([e]));case"Set":return t.size===e.size&&Zt(t.values(),e.values(),r.concat([t]),n.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var c=Yt(t);if(c.length!==Yt(e).length)return!1;var s=r.concat([t]),l=n.concat([e]);for(u=c.length-1;u>=0;){var f=c[u];if(!Ft(f,e)||!te(e[f],t[f],s,l))return!1;u-=1}return!0}var ee=qt(function(t,e){return te(t,e,[],[])});function re(t){return re="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},re(t)}function ne(t,e,r){var n,o;if("function"==typeof t.indexOf)switch(re(e)){case"number":if(0===e){for(n=1/e;r=0}var ie=qt(oe);function ae(t){return function e(r,n,o){switch(arguments.length){case 0:return e;case 1:return wt(r)?e:qt(function(e,n){return t(r,e,n)});case 2:return wt(r)&&wt(n)?e:wt(r)?qt(function(e,r){return t(e,n,r)}):wt(n)?qt(function(e,n){return t(r,e,n)}):Ot(function(e){return t(r,n,e)});default:return wt(r)&&wt(n)&&wt(o)?e:wt(r)&&wt(n)?qt(function(e,r){return t(e,r,o)}):wt(r)&&wt(o)?qt(function(e,r){return t(e,n,r)}):wt(n)&&wt(o)?qt(function(e,n){return t(r,e,n)}):wt(r)?Ot(function(e){return t(e,n,o)}):wt(n)?Ot(function(e){return t(r,e,o)}):wt(o)?Ot(function(e){return t(r,n,e)}):t(r,n,o)}}}var ue=Number.isInteger||function(t){return(0|t)===t};function ce(t){return"[object String]"===Object.prototype.toString.call(t)}function se(t,e){var r=t<0?e.length+t:t;return ce(e)?e.charAt(r):e[r]}function le(t,e){for(var r=e,n=0;n=0&&"[object Array]"===Object.prototype.toString.call(t)},ye=Ot(function(t){return null==t});function he(t){return he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},he(t)}var ve=ae(function t(e,r,n){if(0===e.length)return r;var o=e[0];if(e.length>1){var i=!ye(n)&&Ft(o,n)&&"object"===he(n[o])?n[o]:ue(e[1])?[]:{};r=t(Array.prototype.slice.call(e,1),r,i)}return function(t,e,r){if(ue(t)&&de(r)){var n=[].concat(r);return n[t]=e,n}var o={};for(var i in r)o[i]=r[i];return o[t]=e,o}(o,r,n)}),be=ae(function(t,e,r){return ve([t],e,r)});function me(t,e){return function(){var r=arguments.length;if(0===r)return e();var n=arguments[r-1];return de(n)||"function"!=typeof n[t]?e.apply(this,arguments):n[t].apply(n,Array.prototype.slice.call(arguments,0,r-1))}}var ge=qt(me("forEach",function(t,e){for(var r=e.length,n=0;n0&&t.hasOwnProperty(0)&&t.hasOwnProperty(t.length-1))});function Be(t){return function e(r){for(var n,o,i,a=[],u=0,c=r.length;u=arguments.length)?c=e[a]:(c=arguments[o],o+=1),n[a]=c,wt(c)?u=!0:i-=1,a+=1}return!u&&i<=0?r.apply(this,n):mt(Math.max(0,i),ze(t,n,r))}}var Ve=qt(function(t,e){return 1===t?Ot(e):mt(t,ze(t,[],e))}),Ke=Ve,Ye=qt(Re(["fantasy-land/map","map"],We,function(t,e){switch(Object.prototype.toString.call(e)){case"[object Function]":return Ke(e.length,function(){return t.call(this,e.apply(this,arguments))});case"[object Object]":return Ce(function(r,n){return r[n]=t(e[n]),r},{},Yt(e));default:return Je(t,e)}})),Qe=Ye,Xe="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function Ze(t,e,r){return function(n,o,i){if(Fe(i))return t(n,o,i);if(null==i)return o;if("function"==typeof i["fantasy-land/reduce"])return e(n,o,i,"fantasy-land/reduce");if(null!=i[Xe])return r(n,o,i[Xe]());if("function"==typeof i.next)return r(n,o,i);if("function"==typeof i.reduce)return e(n,o,i,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function tr(t,e,r){for(var n=0,o=r.length;n":vr(r,n)},n=function(t,e){return Je(function(e){return lr(e)+": "+r(t[e])},e.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+Je(r,t).join(", ")+"))";case"[object Array]":return"["+Je(r,t).concat(n(t,yr(function(t){return/^\d+$/.test(t)},Yt(t)))).join(", ")+"]";case"[object Boolean]":return"object"===hr(t)?"new Boolean("+r(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?r(NaN):lr(pr(t)))+")";case"[object Map]":return"new Map("+r(Array.from(t))+")";case"[object Null]":return"null";case"[object Number]":return"object"===hr(t)?"new Number("+r(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object Set]":return"new Set("+r(Array.from(t).sort())+")";case"[object String]":return"object"===hr(t)?"new String("+r(t.valueOf())+")":lr(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var o=t.toString();if("[object Object]"!==o)return o}return"{"+n(t,Yt(t)).join(", ")+"}"}}var br=Ot(function(t){return vr(t,[])}),mr=qt(function(t,e){if(de(t)){if(de(e))return t.concat(e);throw new TypeError(br(e)+" is not an array")}if(ce(t)){if(ce(e))return t+e;throw new TypeError(br(e)+" is not a string")}if(null!=t&&sr(t["fantasy-land/concat"]))return t["fantasy-land/concat"](e);if(null!=t&&sr(t.concat))return t.concat(e);throw new TypeError(br(t)+' does not have a method named "concat" or "fantasy-land/concat"')});function gr(t){return t&&t["@@transducer/reduced"]?t:{"@@transducer/value":t,"@@transducer/reduced":!0}}var wr=function(){function t(t,e){this.xf=e,this.f=t,this.all=!0}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){return this.all&&(t=this.xf["@@transducer/step"](t,!0)),this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){return this.f(e)||(this.all=!1,t=gr(this.xf["@@transducer/step"](t,!1))),t},t}();function Or(t){return function(e){return new wr(t,e)}}var Sr=qt(Re(["all"],Or,function(t,e){for(var r=0;re!=e>t)return e>t?e:t}var n=r(t,e);if(void 0!==n)return n;var o=r(_r(t),_r(e));if(void 0!==o)return o===_r(t)?t:e;var i=br(t),a=r(i,br(e));return void 0!==a&&a===i?t:e}),Pr=qt(function(t,e){return Qe(xe(t),e)}),kr=qt(function(t,e){return Ke(cr(Er,0,Pr("length",e)),function(){var r=arguments,n=this;return t.apply(n,Je(function(t){return t.apply(n,r)},e))})}),Ar=kr,Tr=Ot(function(t){return Ar(function(){return Array.prototype.slice.call(arguments,0)},t)}),xr=Tr([Le,yr]);function Ir(t){return Ir="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ir(t)}function Cr(t,e,r){var n,o=Ir(t);switch(o){case"string":case"number":return 0===t&&1/t==-1/0?!!r._items["-0"]||(e&&(r._items["-0"]=!0),!1):null!==r._nativeSet?e?(n=r._nativeSet.size,r._nativeSet.add(t),r._nativeSet.size===n):r._nativeSet.has(t):o in r._items?t in r._items[o]||(e&&(r._items[o][t]=!0),!1):(e&&(r._items[o]={},r._items[o][t]=!0),!1);case"boolean":if(o in r._items){var i=t?1:0;return!!r._items[o][i]||(e&&(r._items[o][i]=!0),!1)}return e&&(r._items[o]=t?[!1,!0]:[!0,!1]),!1;case"function":return null!==r._nativeSet?e?(n=r._nativeSet.size,r._nativeSet.add(t),r._nativeSet.size===n):r._nativeSet.has(t):o in r._items?!!oe(t,r._items[o])||(e&&r._items[o].push(t),!1):(e&&(r._items[o]=[t]),!1);case"undefined":return!!r._items[o]||(e&&(r._items[o]=!0),!1);case"object":if(null===t)return!!r._items.null||(e&&(r._items.null=!0),!1);default:return(o=Object.prototype.toString.call(t))in r._items?!!oe(t,r._items[o])||(e&&r._items[o].push(t),!1):(e&&(r._items[o]=[t]),!1)}}var Rr=function(){function t(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return t.prototype.add=function(t){return!Cr(t,!0,this)},t.prototype.has=function(t){return Cr(t,!1,this)},t}(),Dr=qt(function(t,e){for(var r=[],n=0,o=t.length,i=e.length,a=new Rr,u=0;u=0&&this.i>=this.n?gr(r):r},t}();function vn(t){return function(e){return new hn(t,e)}}var bn=ae(me("slice",function(t,e,r){return Array.prototype.slice.call(r,t,e)})),mn=qt(Re(["take"],vn,function(t,e){return bn(0,t<0?1/0:t,e)})),gn=qt(function(t,e){return ee(mn(t.length,e),t)}),wn=qt(function(t,e){return"function"!=typeof e.indexOf||de(e)?ne(e,t,0):e.indexOf(t)}),On=ae(function(t,e,r){t=t=0?t:r.length;var n=Array.prototype.slice.call(r,0);return n.splice(t,0,e),n}),Sn=function(){function t(t,e){this.xf=e,this.f=t,this.found=!1}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){return this.found||(t=this.xf["@@transducer/step"](t,void 0)),this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){return this.f(e)&&(this.found=!0,t=gr(this.xf["@@transducer/step"](t,e))),t},t}();function jn(t){return function(e){return new Sn(t,e)}}var _n=qt(Re(["find"],jn,function(t,e){for(var r=0,n=e.length;rt.length)&&(e=t.length);for(var r=0,n=Array(e);r2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;if(Array.isArray(t))t.forEach(function(t,o){if(n){var i=cn(function(t){return ie("{}",t)},n);if(-1!==i){var a=bn(0,i,n),u=bn(i,n.length,n);if(a.length)qn(Oe(a,t),e,mr(r,mr([o],a)),u);else{var c,s=u.map(function(t){return t.replace("{}","")}).filter(function(t){return t}),l=mr([o],s);for(var f in c=s.length?Oe(s,t):t){var p=c[f];qn(p,e,mr(r,l.concat([f])))}}}else qn(Oe(n,t),e,mr(r,mr([o],n)))}else qn(t,e,r.concat(o))});else if("Object"===Qt(t)){e(t,r);var o=t.props&&t.props.children;if(o){var i=r.concat(Un);qn(o,e,i)}var a=window.__dashprivate_childrenProps;(a&&a[t.namespace]&&a[t.namespace][t.type]||[]).forEach(function(n){if(n.includes("[]")){var o=(w=n.split("[]").map(function(t){return t.split(".").filter(function(t){return t})}),O=2,function(t){if(Array.isArray(t))return t}(w)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(w,O)||Dn(w,O)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],a=o[1],u=mr(["props"],i),c=mr(r,u);qn(Oe(u,t),e,c,a)}else if(n.includes("{}")){for(var s=n.split("."),l=[],f=[],p=!1,d=0;d-1&&r.splice(n,1)}}},{key:"emit",value:function(t){for(var e=this,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function ro(t,e){if(t){if("string"==typeof t)return no(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?no(t,e):void 0}}function no(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);ro?1:ne?1:t0;[[e,"Input"],[r,"State"]].forEach(function(e){var r=to(e,2),u=r[0],c=r[1];u.forEach(function(e,r){var u=ko(e.id),s=u.matchKeys,l=u.allsmallerKeys,f=a?s.concat(l):l,p=Dr(f,i);if(p.length){p.sort();var d=t.length?"Output 0 (".concat(Wo(t[0]),")"):"the (absent) Output";o("`Input` / `State` wildcards not in `Output`s",[n,"".concat(c," ").concat(r," (").concat(Wo(e),")"),"has MATCH or ALLSMALLER on key(s) ".concat(p.join(", ")),"where ".concat(d),"does not have a MATCH wildcard. Inputs and State do not","need every MATCH from the Output(s), but ALLSMALLER","requires a matching MATCH in the Output(s), and when","the Output(s) have any MATCH, Input/State MATCH keys","must be a subset of them."])}})})}(i,o,a,c,e))})}(u,function(t,r){c=!0,e(t,r)});var s={},l={},f=new Map,p=new Map,d=new Map,y=new Map,h={},v={},b={},m={},g=!1,w=!1,O={MultiGraph:n,outputMap:s,inputMap:l,outputPatterns:h,inputPatterns:v,partialOutputPatterns:b,partialInputPatterns:m,hasPartialOutputPatterns:g,hasPartialInputPatterns:w,callbacks:u};if(c)return O;function S(t,e){var r=[{}];return Fr(function(t,n){var o=i[n].vals,a=o.indexOf(e[n]),u=[t];t&&t.wild&&(u=t===co?a>0?o.slice(0,a):[]:-1===a||t===ao?o:[e[n]]),r=nn(nn([be(n)],u),r)},t),r}u.forEach(function(t){var e=t.outputs,r=t.inputs;e.concat(r).filter(function(t){return"object"===oo(t.id)}).forEach(function(t){Fr(function(t,e){i[e]||(i[e]={exact:[],expand:0});var r=i[e];t&&t.wild?t.expand&&(r.expand+=1):-1===r.exact.indexOf(t)&&r.exact.push(t)},t.id)})}),Fr(function(t){var e=t.exact,r=t.expand,n=e.slice().sort(bo);if(r)for(var o=0;o2&&void 0!==arguments[2])||arguments[2];r.validate_callbacks&&(n.addNode(t),n.addDependency(t,e),o&&(E[E.length-1].push(t),P[P.length-1].push(e)))}u.forEach(function(t){var e=t.outputs,o=t.inputs;function i(t,e){r.validate_callbacks&&(n.addNode(e),o.forEach(function(r){var n=r.id,o=r.property;"object"===oo(n)?S(n,t).forEach(function(t){k(Wo({id:t,property:o}),e)}):k(Wo(r),e)}))}E.push([]),P.push([]);var a=ko(e.length?e[0].id:void 0).matchKeys,u=cn(function(t){return!Io(t)},e),c=ln({matchKeys:a,firstSingleOutput:u,outputs:e},t);e.forEach(function(t){var e,n=t.id,a=t.property,u=t.partial;if(r.validate_callbacks&&(e=function(t,e){var r=t.id,n=t.property;return e.some(function(e){var o=e.id,i=e.property;if(n!==i||oo(r)!==oo(o))return!1;if("string"==typeof r){if(r===o)return!0}else if(Eo(e,[t]))return!0;return!1})}(t,o)),"object"===oo(n))r.validate_callbacks&&S(n,{}).forEach(function(t){var r={id:t,property:a},n=Wo(r);e&&(_.push(r),n+=j),i(t,n)}),u?(So(f,n,a,c),So(d,n,a,c),g=!0):Oo(f,n,a,c);else{if(r.validate_callbacks){var l=Wo(t);e&&(_.push(t),l+=j),i({},l)}wo(s,n,a,c)}}),o.forEach(function(t){var e=t.id,r=t.property,n=t.partial;"object"===oo(e)?n?(So(p,e,r,c),So(y,e,r,c),w=!0):Oo(p,e,r,c):wo(l,e,r,c)})}),h=jo(f,h),v=jo(p,v),b=jo(d,b),m=jo(y,m),O.outputPatterns=h,O.inputPatterns=v,O.partialOutputPatterns=b,O.partialInputPatterns=m,O.hasPartialOutputPatterns=g,O.hasPartialInputPatterns=w,_.forEach(function(t){for(var e=Wo(t),r=e.concat(j),n=0;n3&&void 0!==arguments[3]?arguments[3]:"";return function(o){var i=o.matchKeys,a=o.firstSingleOutput,u=o.outputs;if(i.length){var c=u[a];if(c)Ro(o,c,t(e)(c),r);else{var s={};u.forEach(function(n){var a=t(e)(n).filter(function(t){var e=JSON.stringify(Ie(i,t.id));return!s[e]&&(s[e]=1,!0)});Ro(o,n,a,r)})}}else{var l=Zo(o,t,n);r.push(l)}}}function No(t){return No="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},No(t)}function Mo(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Uo(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r5&&void 0!==arguments[5])||arguments[5],a=[],u=Wo({id:r,property:n});if("string"==typeof r){var c=(t.inputMap[r]||{})[n];if(!c)return[];c.forEach(Do(ei(),e,a))}else{var s=Object.keys(r).sort(),l=Ie(s,r),f=s.join(","),p=(t.inputPatterns[f]||{})[n];if(p&&p.forEach(function(t){if(t.partial){if(To(t.keys,t.values,s,l)){var r=xo(t.values,l),n=t.keys.map(function(t){return l[s.indexOf(t)]});t.callbacks.forEach(Do(ri(t.keys,n,t.values),e,a,r))}}else if(Ao(s,l,t.values)){var o=xo(t.values,l);t.callbacks.forEach(Do(ei(s,l,t.values),e,a,o))}}),t.hasPartialInputPatterns)for(var d in t.partialInputPatterns)if(d!==f&&d.split(",").every(function(t){return-1!==s.indexOf(t)})){var y=t.partialInputPatterns[d][n];y&&y.forEach(function(t){if(To(t.keys,t.values,s,l)){var r=xo(t.values,l),n=t.keys.map(function(t){return l[s.indexOf(t)]});t.callbacks.forEach(Do(ri(t.keys,n,t.values),e,a,r))}})}}return a.forEach(function(r){r.changedPropIds[u]=o||Ho,i&&(r.priority=Vo(t,e,r))}),a}function Vo(t,e,r){for(var n=[r],o={},i={},a=[];n.length;){n=Le(function(t){var e=i[t.resolvedId];return i[t.resolvedId]=!0,e},n);var u=Le(function(t){return!o[Wo(t)]},He(Qe(function(t){return He(t.getOutputs(e))},n)));u.forEach(function(t){return o[Wo(t)]=!0}),(n=He(Qe(function(r){var n=r.id,o=r.property;return zo(t,e,n,o,Jo,!1)},u))).length&&a.push(n.length)}return a.unshift(a.length),Qe(function(t){return Math.min(t,35).toString(36)},a).join("")}var Ko=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!e.length)return[];var o=Qe(Wo,cr(function(e,r){return mr(e,He(r.getOutputs(t)))},[],r)),i={};if(o.forEach(function(t){return i[t]=!0}),Object.keys(n).length){var a=He(Qe(function(e){return function(t,e,r){for(var n=[r],o={};n.length;){var i=Le(function(t){return!o[Wo(t)]},He(Qe(function(t){return He(t.getOutputs(e))},n)));o=cr(function(t,e){return be(Wo(e),!0,t)},o,i),n=He(Qe(function(r){var n=r.id,o=r.property;return zo(t,e,n,o,Jo,!1)},i))}return o}(n,t,e)},r));a.length>0&&(i=Object.assign.apply(Object,[a[0]].concat(Go(a))))}return Le(function(e){return jr(function(t){return!i[Wo(t)]},function(t,e){return t.filter(function(t){return!e.some(function(e){return Wo(t)===Wo(e)})})}(He(e.getInputs(t)),He(e.getOutputs(t))))},e)},Yo=function(t,e,r,n){for(var o=[],i=function(t,e,r,n){var o=n.outputsOnly,i=n.removedArrayInputsOnly,a=n.newPaths,u=n.chunkPath,c=n.patchAnalysis,s={},l=[];function f(t){if(t){var e=s[t.resolvedId];if(void 0!==e){var r=l[e];r.changedPropIds=$o(r.changedPropIds,t.changedPropIds),t.initialCall&&(r.initialCall=!0)}else s[t.resolvedId]=l.length,l.push(t)}}function p(r,n,s){if(n){var l=!!c&&function(t,e){return!(!t||!e||t.freshIds[e])}(c,vo(r));for(var p in n){var d=Co(t,0,r,p);d&&(d.callback.prevent_initial_call||l||(d.initialCall=!0,f(d)))}}if(!o&&s){var y=vo(r),h=i?function(t){return function(r){return r.getInputs(e).some(function(e){return!(!Array.isArray(e)||!e.some(function(e){return vo(e.id)===t})||(He(r.getOutputs(a)).length&&(r.initialCall=!0,r.changedPropIds={},f(r)),0))})}}(y):f;for(var v in s){var b=h;u&&!Kn(c,y,v)&&(b=function(t){jr(gn(u),Pr("path",He(t.getOutputs(e))))||h(t)}),zo(t,e,r,v,Jo).forEach(b)}}}return qn(r,function(e){var r=e.props&&e.props.id;if(r)if("string"!=typeof r||i){var n=Object.keys(r).sort(),o=n.join(",");if(p(r,!i&&t.outputPatterns[o],t.inputPatterns[o]),t.hasPartialInputPatterns)for(var a in t.partialInputPatterns)a!==o&&a.split(",").every(function(t){return-1!==n.indexOf(t)})&&p(r,null,t.partialInputPatterns[a]);if(!i&&t.hasPartialOutputPatterns)for(var u in t.partialOutputPatterns)u!==o&&u.split(",").every(function(t){return-1!==n.indexOf(t)})&&p(r,t.partialOutputPatterns[u],null)}else p(r,t.outputMap[r],t.inputMap[r])}),Qe(function(r){return Xn(Xn({},r),{},{priority:Vo(t,e,r)})},l)}(t,e,r,n);;){var a=Lo(xr(function(t){var r=t.callback.inputs,n=t.getInputs;return jr(Io,r)||!Ee(Dr(Qe(Wo,He(n(e))),o))},i),2),u=a[0],c=a[1];if(!c.length)break;i=u,o=mr(o,Qe(Wo,He(Qe(function(t){return(0,t.getOutputs)(e)},c))))}if(n.filterRoot){var s=Oe(["props","id"],r);s&&(s=vo(s),i=i.filter(function(t){return t.callback.inputs.reduce(function(t,e){return t||vo(e.id)==s&&n.filterRoot.includes(e.property)},!1)}))}var l=Math.random().toString(16);return Qe(function(t){return Uo(Uo({},t),{},{executionGroup:l})},i)},Qo=function(t){var e=t.anyVals,r=t.callback,n=r.inputs,o=r.outputs,i=r.state,a=r.output,u=Qe(Wo,[].concat(Go(n),Go(o),Go(i)));return 0===o.length&&a&&u.push(a),mr(u,Array.isArray(e)?e:""===e?[]:[e]).join(",")};function Xo(t,e,r,n){return He(Qe(function(e){return zo(r,n,t,e)},Yt(e)))}var Zo=function(t,e,r){return{callback:t,anyVals:r,resolvedId:t.output+r,getOutputs:function(r){return t.outputs.map(e(r))},getInputs:function(r){return t.inputs.map(e(r))},getState:function(r){return t.state.map(e(r))},changedPropIds:{},initialCall:!1}};function ti(t,e){var r=Lo(xr(function(t){var r=t.getOutputs,n=t.callback.outputs;return He(r(e)).length===n.length},t),2)[1],n=Lo(xr(function(t){var r=t.getOutputs;return!He(r(e)).length},r),2)[1];return{added:Qe(function(t){return be("changedPropIds",Nr(function(t,r){return Wn(e,yo(r).id)},t.changedPropIds),t)},n),removed:r}}function ei(t,e,r){return function(n){return function(o){var i=o.id,a=o.property,u=o.partial;if("string"==typeof i){var c=Wn(n,i);return c?[{id:i,property:a,path:c}]:[]}var s=Object.keys(i).sort(),l=Ie(s,i),f=s.join(","),p=n.objs[f];if(p){var d=[];return p.forEach(function(n){var o=n.values,i=n.path;Ao(s,o,l,t,e,r)&&d.push({id:Ur(s,o),property:a,path:i})}),d}if(u){var y=[],h=function(){var o=v.split(",");if(!s.every(function(t){return-1!==o.indexOf(t)}))return 1;n.objs[v].forEach(function(n){var i=n.values,u=n.path;To(s,l,o,i,t,e,r)&&y.push({id:Ur(o,i),property:a,path:u})})};for(var v in n.objs)h();return y}return[]}}}function ri(t,e,r,n){return function(n){return function(o){var i=o.id,a=o.property,u=o.partial;if("string"==typeof i){var c=Wn(n,i);return c?[{id:i,property:a,path:c}]:[]}var s=Object.keys(i).sort(),l=Ie(s,i);if(!u){var f=s.join(","),p=n.objs[f];if(!p)return[];var d=[],y=e?s.map(function(r){var n=t.indexOf(r);return-1!==n?e[n]:void 0}):void 0,h=r?s.map(function(e){var n=t.indexOf(e);return-1!==n?r[n]:void 0}):void 0;return p.forEach(function(e){var r=e.values,n=e.path;Ao(s,r,l,t,y,h)&&d.push({id:Ur(s,r),property:a,path:n})}),d}var v=[],b=function(){var o=m.split(",");if(!s.every(function(t){return-1!==o.indexOf(t)}))return 1;n.objs[m].forEach(function(n){var i=n.values,u=n.path;To(s,l,o,i,t,e,r)&&v.push({id:Ur(o,i),property:a,path:u})})};for(var m in n.objs)b();return v}}}var ni={ON_PROP_CHANGE:1,SET_REQUEST_QUEUE:1,SET_GRAPHS:1,SET_PATHS:1,SET_LAYOUT:1,SET_APP_LIFECYCLE:1,SET_CONFIG:1,ADD_HTTP_HEADERS:1,ON_ERROR:1,SET_HOOKS:1,INSERT_COMPONENT:1,REMOVE_COMPONENT:1,RESET_COMPONENT_STATE:1},oi=function(t){if(ni[t])return t;throw new Error("".concat(t," is not defined."))};function ii(t){var e={STARTED:"STARTED",HYDRATED:"HYDRATED",DESTROYED:"DESTROYED"};if(e[t])return e[t];throw new Error("".concat(t," is not a valid app state."))}var ai,ui,ci=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ii("STARTED"),e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_APP_LIFECYCLE")?ii(e.payload):t};function si(t){return si="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},si(t)}function li(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function fi(t){for(var e=1;e1?arguments[1]:void 0;return cr(function(t,e){return null===e?t:e.type===ui.AddCompleted?function(t,e){return fi(fi({},t),{},{completed:t.completed+e.payload})}(t,e):function(t,e){var r=yi[e.type],n=hi[e.type];return r&&n&&0!==e.payload.length?fi(fi({},t),{},{[n]:r(t[n],e.payload)}):t}(t,e)},arguments.length>0&&void 0!==arguments[0]?arguments[0]:di,t.type===ui.Aggregate?t.payload:[t])},bi=ae(function t(e,r,n){return ke(function(r,n,o){return Se(n)&&Se(o)?t(e,n,o):e(r,n,o)},r,n)}),mi=bi,gi=qt(function(t,e){return mi(function(t,e,r){return r},t,e)});function wi(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_CONFIG")?(window.__dashprivate_childrenProps=gi(window.__dashprivate_childrenProps||{},e.payload.children_props),e.payload):e.type===oi("ADD_HTTP_HEADERS")?gi(t,{fetch:{headers:e.payload}}):t}var Oi={},Si=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Oi,e=arguments.length>1?arguments[1]:void 0;return"SET_GRAPHS"===e.type?e.payload:t};function ji(t){return function(t){if(Array.isArray(t))return _i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return _i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_i(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:Ei,e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"ON_ERROR":var r=t.frontEnd,n=t.backEnd,o=t.backEndConnected;return console.error(e.payload.error),"frontEnd"===e.payload.type?{frontEnd:[ln(e.payload,{timestamp:new Date})].concat(ji(r)),backEnd:n,backEndConnected:o}:"backEnd"===e.payload.type?{frontEnd:r,backEnd:[ln(e.payload,{timestamp:new Date})].concat(ji(n)),backEndConnected:o}:t;case"SET_CONNECTION_STATUS":return ln(t,{backEndConnected:e.payload});default:return t}}function ki(t){return function(t){if(Array.isArray(t))return Ai(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return Ai(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ai(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ai(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:Ti;switch((arguments.length>1?arguments[1]:void 0).type){case"UNDO":var e=t.past,r=t.present,n=t.future,o=e[e.length-1];return{past:e.slice(0,e.length-1),present:o,future:[r].concat(ki(n))};case"REDO":var i=t.past,a=t.present,u=t.future,c=u[0],s=u.slice(1);return{past:[].concat(ki(i),[a]),present:c,future:s};case"REVERT":var l=t.past,f=t.future,p=l[l.length-1];return{past:l.slice(0,l.length-1),present:p,future:ki(f)};default:return t}},Ii=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{layout_pre:null,layout_post:null,request_pre:null,request_post:null,callback_resolved:null,request_refresh_jwt:null,bear:!1},e=arguments.length>1?arguments[1]:void 0;return"SET_HOOKS"===e.type?e.payload:t};function Ci(t){return Ci="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ci(t)}function Ri(t,e,r){if(r||(r=new Ni),o=Ci(n=t),null==n||"object"!=o&&"function"!=o)return t;var n,o,i,a=function(n){var o=r.get(t);if(o)return o;for(var i in r.set(t,n),t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=e?Ri(t[i],!0,r):t[i]);return n};switch(Qt(t)){case"Object":return a(Object.create(Object.getPrototypeOf(t)));case"Array":return a(Array(t.length));case"Date":return new Date(t.valueOf());case"RegExp":return i=t,new RegExp(i.source,i.flags?i.flags:(i.global?"g":"")+(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.sticky?"y":"")+(i.unicode?"u":"")+(i.dotAll?"s":""));case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":return t.slice();default:return t}}var Di,Ni=function(){function t(){this.map={},this.length=0}return t.prototype.set=function(t,e){var r=this.hash(t),n=this.map[r];n||(this.map[r]=n=[]),n.push([t,e]),this.length+=1},t.prototype.hash=function(t){var e=[];for(var r in t)e.push(Object.prototype.toString.call(t[r]));return e.join()},t.prototype.get=function(t){if(this.length<=180){for(var e in this.map)for(var r=this.map[e],n=0;n0&&void 0!==arguments[0]?arguments[0]:Ji,e=arguments.length>1?arguments[1]:void 0;if("UPDATE_RESOURCE_USAGE"===e.type){var r=e.payload,n=r.id,o=r.usage,i=r.status,a=Fi[i]||i,u={updated:[n],resources:t.resources,callbacks:t.callbacks,graphLayout:t.graphLayout};u.callbacks[n]=u.callbacks[n]||Mi(Hi);var c=u.callbacks[n],s=c.resources,l=u.resources;if(c.count+=1,c.status.latest=a,c.status[a]=(c.status[a]||0)+1,c.result=e.payload.result,c.inputs=e.payload.inputs,c.state=e.payload.state,o){var f=o.__dash_client,p=o.__dash_server,d=o.__dash_upload,y=o.__dash_download,h=function(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n0&&void 0!==arguments[0]?arguments[0]:Wi};!function(t){t.Set="IsLoading.Set"}(Di||(Di={}));var Vi=function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1?arguments[1]:void 0;return e.type===Di.Set?e.payload:t},Ki=qt(function(t,e){return Zr(e,[t])}),Yi=function(t){return{value:t,"fantasy-land/map":function(){return this}}},Qi=qt(function(t,e){return t(Yi)(e).value}),Xi=qt(function(t,e){return function(r){return function(n){return Qe(function(t){return e(t,n)},r(t(n)))}}}),Zi=Ot(function(t){return Xi(function(e){return le(t,e)},ve(t))}),ta=ae(function(t,e,r){var n=Array.prototype.slice.call(r,0);return n.splice(t,e),n}),ea=qt(function t(e,r){if(null==r)return r;switch(e.length){case 0:return r;case 1:return function(t,e){if(null==e)return e;if(ue(t)&&de(e))return ta(t,1,e);var r={};for(var n in e)r[n]=e[n];return delete r[t],r}(e[0],r);default:var n=e[0],o=Array.prototype.slice.call(e,1);return null==r[n]?function(t,e){if(ue(t)&&de(e))return[].concat(e);var r={};for(var n in e)r[n]=e[n];return r}(n,r):be(n,t(o,r[n]),r)}});function ra(t){return ra="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ra(t)}function na(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function oa(t,e,r){return(e=function(t){var e=function(t){if("object"!=ra(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=ra(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==ra(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function ia(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{components:[]},r=arguments.length>1?arguments[1]:void 0;if(r.type===oi("SET_LAYOUT"))return Array.isArray(r.payload)?e.components=function(t){if(Array.isArray(t))return ia(t)}(t=r.payload)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ia(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ia(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}():e.components=function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:ua,e=arguments.length>1?arguments[1]:void 0;return e.type===oi("SET_PATHS")?e.payload:t},sa=qt(function(t,e){return ea([t],e)});function la(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"ADD_CALLBACK_JOB":return function(t,e){return be(t.jobId,t,e)}(e.payload,t);case"REMOVE_CALLBACK_JOB":return function(t,e){return sa(t,e)}(e.payload.jobId,t);case"CALLBACK_JOB_OUTDATED":return function(t,e){return ve([t,"outdated"],!0,e)}(e.payload.jobId,t);default:return t}}function fa(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;switch(e.type){case"LOADED":return e.payload.reduce(function(t,e){var r=[JSON.stringify(e.path)],n=pe([],r,t);return ve(r,n.filter(function(t){return t.property!==e.property}),t)},t);case"LOADING":return e.payload.reduce(function(t,e){var r=[JSON.stringify(e.path)],n=pe([],r,t);return ie(e,n)||n.push(e),ve(r,n,t)},t);default:return t}}var pa=qt(function(t,e){return Ke(t+1,function(){var r=arguments[t];if(null!=r&&sr(r[e]))return r[e].apply(r,Array.prototype.slice.call(arguments,0,t));throw new TypeError(br(r)+' does not have a method named "'+e+'"')})}),da=pa(1,"join");function ya(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if(ie(e.type,["UNDO_PROP_CHANGE","REDO_PROP_CHANGE","ON_PROP_CHANGE"])){var r=ba(e.payload.itempath),n=pe(0,[r,"hash"],t);t=be(r,{hash:n+1,changedProps:e.payload.props,renderType:e.payload.renderType},t)}else if("RESET_COMPONENT_STATE"===e.type){var o=e.payload.itempath;if(o){var i=ba(o);return Object.fromEntries(Object.entries(t).filter(function(t){return!(e=t,r=1,function(t){if(Array.isArray(t))return t}(e)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(e,r)||ga(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0].startsWith(i);var e,r}))}}return t};function ja(){var t={appLifecycle:ci,callbacks:vi,config:wi,error:Pi,graphs:Si,history:xi,hooks:Ii,profile:$i,changed:zi,isLoading:Vi,layout:aa,paths:ca,layoutHashes:Sa,loading:fa};return we(function(e){var r;t[e]=(r=e,function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,n=t;if(e.type===r){var o=e.payload,i=o.id,a={status:o.status,content:o.content};n=Array.isArray(i)?ve(i,a,t):i?be(i,a,t):ln(t,a)}return n})},Oa),t.callbackJobs=la,function(t){for(var e=Object.keys(t),r={},n=0;n1?r-1:0),o=1;on;){var a=t.charCodeAt(o-1);if(32!==a&&9!==a)break;o--}return t.slice(n,o)}function $a(t){if(-1===t.indexOf("%"))return t;try{return decodeURIComponent(t)}catch(e){return t}}var Wa=Ot(function(t){return function(){return t}}),za=function(t){return{value:t,map:function(e){return za(e(t))}}},Va=ae(function(t,e,r){return t(function(t){return za(e(t))})(r).value}),Ka=ae(function(t,e,r){return Va(t,Wa(e),r)});function Ya(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Qa(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Qa(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qa(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(wu(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,wu(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,wu(f,"constructor",s),wu(s,"constructor",c),c.displayName="GeneratorFunction",wu(s,o,"GeneratorFunction"),wu(f),wu(f,o,"Generator"),wu(f,n,function(){return this}),wu(f,"toString",function(){return"[object Generator]"}),(gu=function(){return{w:i,m:p}})()}function wu(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}wu=function(t,e,r,n){function i(e,r){wu(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},wu(t,e,r,n)}function Ou(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Su(t){return function(t){if(Array.isArray(t))return ju(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return ju(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ju(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ju(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);ra)o=t.lastIndexOf(";",i-1)+1;else{var u=Ja(t,o,i);void 0===e[u]&&(e[u]=n(Ja(t,i+1,a))),o=a+1}}while(o3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(vc(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,vc(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,vc(f,"constructor",s),vc(s,"constructor",c),c.displayName="GeneratorFunction",vc(s,o,"GeneratorFunction"),vc(f),vc(f,o,"Generator"),vc(f,n,function(){return this}),vc(f,"toString",function(){return"[object Generator]"}),(hc=function(){return{w:i,m:p}})()}function vc(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}vc=function(t,e,r,n){function i(e,r){vc(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},vc(t,e,r,n)}function bc(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}var mc=jt(console.warn),gc={GET:function(t,e,r,n){return fetch(t,gi(e,{method:"GET",headers:Gu(n)}))},POST:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(t,gi(e,{method:"POST",headers:Gu(arguments.length>3?arguments[3]:void 0),body:r?JSON.stringify(r):null}))}};function wc(t,e,r,n,o){return function(){var i,a=(i=hc().m(function i(a,u){var c,s,l,f,p,d,y,h,v,b,m;return hc().w(function(i){for(;;)switch(i.p=i.n){case 0:d=function(t){u().error.backEndConnected!==t&&a({type:"SET_CONNECTION_STATUS",payload:t})},c=u(),s=c.config,l=c.hooks,f=null,p="".concat(Mn(s)).concat(t),a({type:r,payload:{id:n,status:"loading"}}),i.p=1,h=0;case 2:if(!(h<=1)){i.n=11;break}return i.p=3,i.n=4,gc[e](p,s.fetch,o,s);case 4:y=i.v,i.n=6;break;case 5:return i.p=5,i.v,console.log("fetch error",y),d(!1),i.a(2);case 6:if(401!==y.status&&400!==y.status){i.n=9;break}if(!l.request_refresh_jwt){i.n=9;break}return i.n=7,y.text();case 7:if(!i.v.includes(Ui)){i.n=9;break}return i.n=8,l.request_refresh_jwt(s.fetch.headers.Authorization.substr(7));case 8:if(!(v=i.v)){i.n=9;break}return f={Authorization:"Bearer ".concat(v)},s=gi(s,{fetch:{headers:f}}),i.a(3,10);case 9:return i.a(3,11);case 10:h++,i.n=2;break;case 11:if(b=y.headers.get("content-type"),f&&a(ku(f)),d(!0),!b||-1===b.indexOf("application/json")){i.n=12;break}return i.a(2,y.json().then(function(t){return a({type:r,payload:{status:y.status,content:t,id:n}}),t}));case 12:return i.n=13,y.text();case 13:return m=i.v,mc("Response is missing header: content-type: application/json"),i.a(2,a({type:r,payload:{id:n,status:y.status,content:m}}));case 14:i.p=14,Wu(i.v,"Error from API call: "+t,a);case 15:return i.a(2)}},i,null,[[3,5],[1,14]])}),function(){var t=this,e=arguments;return new Promise(function(r,n){var o=i.apply(t,e);function a(t){bc(o,r,n,a,u,"next",t)}function u(t){bc(o,r,n,a,u,"throw",t)}a(void 0)})});return function(t,e){return a.apply(this,arguments)}}()}function Oc(t){return Oc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oc(t)}function Sc(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function jc(t){for(var e=1;e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(xc(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,xc(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,xc(f,"constructor",s),xc(s,"constructor",c),c.displayName="GeneratorFunction",xc(s,o,"GeneratorFunction"),xc(f),xc(f,o,"Generator"),xc(f,n,function(){return this}),xc(f,"toString",function(){return"[object Generator]"}),(Tc=function(){return{w:i,m:p}})()}function xc(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}xc=function(t,e,r,n){function i(e,r){xc(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},xc(t,e,r,n)}function Ic(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Cc(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){Ic(i,n,o,a,u,"next",t)}function u(t){Ic(i,n,o,a,u,"throw",t)}a(void 0)})}}function Rc(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return Dc(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Dc(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function Dc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&void 0!==arguments[0]?arguments[0]:{};Uc(this,t),Gc(this,"localId",Bc()),Gc(this,"endId",""),Gc(this,"downlinkId",""),Gc(this,"pending",new Map),Gc(this,"counter",0),Gc(this,"cursor",0),Gc(this,"downlinkOpen",!1),Gc(this,"abort",null),Gc(this,"loopGen",0),Gc(this,"reconnectDelay",void 0),Gc(this,"maxReconnectDelay",void 0),Gc(this,"reconnectWindow",void 0),Gc(this,"fetchImpl",void 0),Gc(this,"_transport",{}),Gc(this,"wakeUp",null),Gc(this,"wokenForNewStream",!1),this.fetchImpl=null!==(e=i.fetchImpl)&&void 0!==e?e:fetch.bind(globalThis),this.reconnectDelay=null!==(r=i.reconnectDelay)&&void 0!==r?r:1e3,this.maxReconnectDelay=null!==(n=i.maxReconnectDelay)&&void 0!==n?n:5e3,this.reconnectWindow=null!==(o=i.reconnectWindow)&&void 0!==o?o:3e4,this.configure(i)},[{key:"configure",value:function(t){t.mode&&(this._transport.mode=t.mode),"number"==typeof t.pollInterval&&(this._transport.pollInterval=t.pollInterval)}},{key:"transport",get:function(){return Mc({},this._transport)}},{key:"activeCount",get:function(){return this.pending.size}},{key:"connectionEndId",get:function(){return this.endId}},{key:"streamUrl",value:function(t){if(!this.endId)return t;var e=t.includes("?")?"&":"?";return"".concat(t).concat(e,"endId=").concat(encodeURIComponent(this.endId))+"&downlinkId=".concat(encodeURIComponent(this.downlinkId))}},{key:"run",value:function(t,e,r,n,o){return this.start(t,e,r,n,o).settled}},{key:"start",value:function(t,e,r,n,o){var i=this;0!==this.pending.size&&this.endId||(this.endId=r||"",this.downlinkId=Bc(),this.cursor=0);var a="".concat(this.localId,"-").concat(++this.counter),u=new Promise(function(t,e){i.pending.set(a,{onFrame:o,resolve:t,reject:e,acked:!1,gotFrame:!1})});return this.fetchImpl(this.streamUrl(t),Mc(Mc({},e),{},{method:"POST",body:JSON.stringify(Mc(Mc({},n),{},{streamConnection:{requestId:a}}))})).then(function(r){return i.checkUplink(a,r,t,e)}).catch(function(t){return i.fail(a,t)}),{requestId:a,settled:u}}},{key:"cancel",value:function(t,e,r){var n=this.pending.get(t);n&&(this.pending.delete(t),n.reject(new Error("Streaming callback cancelled")),this.fetchImpl(this.streamUrl(e),Mc(Mc({},r),{},{method:"POST",body:JSON.stringify({streamCancel:{requestId:t}})})).catch(function(){}),this.stopDownlinkIfIdle())}},{key:"checkUplink",value:function(t,e,r,n){if(e.ok){var o,i=this.pending.get(t);i&&(i.acked=!0,this.ensureDownlink(r,n),this.wokenForNewStream=!0,null===(o=this.wakeUp)||void 0===o||o.call(this))}else this.fail(t,new Error("stream uplink responded ".concat(e.status)))}},{key:"hasAcked",value:function(){var t,e=Rc(this.pending.values());try{for(e.s();!(t=e.n()).done;)if(t.value.acked)return!0}catch(t){e.e(t)}finally{e.f()}return!1}},{key:"dispatchEnvelope",value:function(t){if(t.reset)return this.cursor=0,void this.settleAll(new Error("stream reset: the server lost this connection (restart or owner change)"));if("number"==typeof t.seq&&(this.cursor=t.seq),void 0!==t.rid&&void 0!==t.frame){var e=this.pending.get(t.rid);if(e){var r=t.frame;r.done?(this.pending.delete(t.rid),r.error?e.reject(new Error(r.error.message||"Streaming callback error")):e.resolve(),this.stopDownlinkIfIdle()):(e.gotFrame=!0,e.onFrame(r))}}}},{key:"settleAll",value:function(t){var e=Array.from(this.pending.values());this.pending.clear(),this.closeDownlink(),e.forEach(function(e){return e.gotFrame?e.resolve():e.reject(t)})}},{key:"fail",value:function(t,e){var r=this.pending.get(t);r&&(this.pending.delete(t),r.reject(e),this.stopDownlinkIfIdle())}},{key:"stopDownlinkIfIdle",value:function(){this.downlinkOpen&&!this.hasAcked()&&this.closeDownlink()}},{key:"closeDownlink",value:function(){var t,e=this.abort;this.abort=null,this.downlinkOpen=!1,this.loopGen++,null===(t=this.wakeUp)||void 0===t||t.call(this),e&&e.abort()}},{key:"ensureDownlink",value:function(t,e){this.downlinkOpen||(this.downlinkOpen=!0,this.readLoop(t,e,++this.loopGen))}},{key:"readLoop",value:(e=Cc(Tc().m(function t(e,r,n){var o,i,a,u,c,s,l,f,p,d;return Tc().w(function(t){for(;;)switch(t.p=t.n){case 0:i="poll"===this._transport.mode,a=null!==(o=this._transport.pollInterval)&&void 0!==o?o:100,u=a,c=0,s=null,l=this.reconnectDelay;case 1:if(!this.hasAcked()||this.loopGen!==n){t.n=14;break}return this.wokenForNewStream&&(this.wokenForNewStream=!1,c=0,u=a),this.abort=new AbortController,f=0,t.p=2,t.n=3,this.fetchImpl(this.streamUrl(e),Mc(Mc({},r),{},{method:"POST",signal:this.abort.signal,body:JSON.stringify({streamDownlink:{from:this.cursor}})}));case 3:if(!((p=t.v).status>=400&&p.status<500)){t.n=4;break}return this.settleAll(new Error("stream downlink responded ".concat(p.status))),t.a(3,14);case 4:if(p.ok&&p.body){t.n=5;break}throw new Error("downlink responded ".concat(p.status));case 5:return t.n=6,this.consume(p.body,n);case 6:if(0!==(f=t.v)||i){t.n=7;break}throw new Error("downlink closed without data");case 7:s=null,l=this.reconnectDelay,t.n=12;break;case 8:if(t.p=8,t.v,this.hasAcked()&&this.loopGen===n){t.n=9;break}return t.a(3,14);case 9:if(!((d=Date.now())-(s=null!=s?s:d)>=this.reconnectWindow)){t.n=10;break}return this.settleAll(new Error("stream downlink lost: could not reconnect to the server")),t.a(3,14);case 10:return t.n=11,Hc(l);case 11:return l=Math.min(2*l,this.maxReconnectDelay),t.a(3,1);case 12:if(!i||!this.hasAcked()||this.loopGen!==n){t.n=13;break}return f?(c=0,u=a):++c>2&&(u=Math.min(2*u,5*a)),t.n=13,this.pause(u);case 13:t.n=1;break;case 14:this.loopGen===n&&(this.downlinkOpen=!1,this.abort=null);case 15:return t.a(2)}},t,this,[[2,8]])})),function(t,r,n){return e.apply(this,arguments)})},{key:"pause",value:function(t){var e=this;return new Promise(function(r){var n=setTimeout(function(){e.wakeUp=null,r()},t);e.wakeUp=function(){clearTimeout(n),e.wakeUp=null,r()}})}},{key:"consume",value:(t=Cc(Tc().m(function t(e,r){var n,o,i,a,u,c,s,l,f;return Tc().w(function(t){for(;;)switch(t.n){case 0:n=e.getReader(),o=new TextDecoder,i="",a=0;case 1:return t.n=2,n.read();case 2:if(u=t.v,c=u.done,s=u.value,!c){t.n=3;break}return t.a(2,a);case 3:i+=o.decode(s,{stream:!0}),l=void 0;case 4:if(!((l=i.indexOf("\n"))>=0)){t.n=7;break}if(f=i.slice(0,l),i=i.slice(l+1),f.trim()){t.n=5;break}return t.a(3,4);case 5:if(this.loopGen===r){t.n=6;break}return t.a(2,a);case 6:a++,this.dispatchEnvelope(JSON.parse(f)),t.n=4;break;case 7:t.n=1;break;case 8:return t.a(2)}},t,this)})),function(e,r){return t.apply(this,arguments)})}]);var t,e}(),$c=function(){return Lc(function t(e){var r,n=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:kc(),i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Uc(this,t),Gc(this,"pending",new Map),Gc(this,"counter",0),Gc(this,"port",void 0),Gc(this,"rendererId",void 0),Gc(this,"transport",void 0),Gc(this,"_broken",!1),this.port=e,this.rendererId=o,this.transport=i,e.onmessage=function(t){return n.handleMessage(t.data)},null===(r=e.start)||void 0===r||r.call(e)},[{key:"broken",get:function(){return this._broken}},{key:"activeCount",get:function(){return this.pending.size}},{key:"run",value:function(t,e,r,n,o){var i=this,a="".concat(this.rendererId,"-").concat(++this.counter);return new Promise(function(u,c){i.pending.set(a,{onFrame:o,resolve:u,reject:c,acked:!1,gotFrame:!1});var s={type:"stream",rendererId:i.rendererId,requestId:a,url:t,init:e,endId:r||"",payload:n,transport:i.transport};i.port.postMessage(s)})}},{key:"release",value:function(){var t={type:"unregister",rendererId:this.rendererId};this.port.postMessage(t)}},{key:"fail",value:function(t){this._broken=!0;var e,r=Rc(this.pending.values());try{for(r.s();!(e=r.n()).done;)e.value.reject(t)}catch(t){r.e(t)}finally{r.f()}this.pending.clear()}},{key:"handleMessage",value:function(t){var e=this.pending.get(t.requestId);e&&("frame"!==t.type?(this.pending.delete(t.requestId),"done"===t.type?e.resolve():e.reject(new Error(t.message))):e.onFrame(t.frame))}}])}(),Wc=null;function zc(){var t,e,r,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(Wc instanceof $c&&Wc.broken&&(Wc=null),Wc)return Wc;var o={mode:null===(t=n.stream)||void 0===t?void 0:t.mode,pollInterval:null===(e=n.stream)||void 0===e?void 0:e.poll_interval},i=null===(r=n.stream)||void 0===r?void 0:r.worker_url;if(i&&"undefined"!=typeof SharedWorker)try{var a=new SharedWorker(i,{name:"dash-stream-worker"}),u=new $c(a.port,kc(),o);return a.onerror=function(){return u.fail(new Error("Dash stream worker failed"))},window.addEventListener("pagehide",function(){return u.release()}),Wc=u}catch(t){}return Wc=new Jc(o)}function Vc(t){var e;return!(null===(e=t.stream)||void 0===e||!e.enabled)}function Kc(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function os(t,e){if(t){if("string"==typeof t)return is(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?is(t,e):void 0}}function is(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(us(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,us(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,us(f,"constructor",s),us(s,"constructor",c),c.displayName="GeneratorFunction",us(s,o,"GeneratorFunction"),us(f),us(f,o,"Generator"),us(f,n,function(){return this}),us(f,"toString",function(){return"[object Generator]"}),(as=function(){return{w:i,m:p}})()}function us(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}us=function(t,e,r,n){function i(e,r){us(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},us(t,e,r,n)}function cs(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function ss(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){cs(i,n,o,a,u,"next",t)}function u(t){cs(i,n,o,a,u,"throw",t)}a(void 0)})}}function ls(t,e){for(var r=0;r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function ws(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return Os(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(Os(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,Os(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,Os(f,"constructor",s),Os(s,"constructor",c),c.displayName="GeneratorFunction",Os(s,o,"GeneratorFunction"),Os(f),Os(f,o,"Generator"),Os(f,n,function(){return this}),Os(f,"toString",function(){return"[object Generator]"}),(ws=function(){return{w:i,m:p}})()}function Os(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Os=function(t,e,r,n){function i(e,r){Os(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},Os(t,e,r,n)}function Ss(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function js(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){Ss(i,n,o,a,u,"next",t)}function u(t){Ss(i,n,o,a,u,"throw",t)}a(void 0)})}}function _s(t){return function(t){if(Array.isArray(t))return ks(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||Ps(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Es(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(t,e)||Ps(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ps(t,e){if(t){if("string"==typeof t)return ks(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ks(t,e):void 0}}function ks(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r5&&void 0!==arguments[5]&&arguments[5],a="Input"===o?r.getInputs:r.getState,u=[],c=0,s=a(t).map(function(i,a){var s=Es(Qs(t,i.map(function(t){var r=t.id,n=t.property,o=t.path;return{id:r,property:n,value:Oe([].concat(_s(o),["props",n]),e)}}),n[a],r.anyVals,o),2),l=s[0],f=s[1];return Io(n[a])&&!l.length&&c++,f&&u.push(f),l});if(u.length){if(i&&u.length+c===s.length)return null;Zs(u,t)}return s}function Zs(t,e){var r=t[0];throw-1!==r.indexOf("logged above")&&console.error(e.objs),new ReferenceError(r)}var tl=function(t){return Array.isArray(t)?Pr("value",t):t.value},el=function(t,e){return Array.isArray(t)?e===window.dash_clientside.no_update?Br(t,[e]):Br(t,e):[[t,e]]};function rl(t){return t.split("@")[0]}function nl(t){return Yt(t).length?{patchedOutputs:t}:{}}function ol(t,e,r,n){var o={};return He(t).forEach(function(t){var i=rl(t.property),a=Wn(e,t.id),u=vo(t.id),c=[u,i],s=Oe(c,n);if(void 0!==s){nc(s)&&(o[u]=o[u]||{patchedProps:{},freshIds:{},writtenProps:{},tailAppends:{}});var l=Oe(a.concat(["props"]),r)||{},f=yc({[i]:s},l,o[u]);n=ve(c,f[i],n)}}),{data:n,patchedOutputs:o}}function il(t,e,r,n){return al.apply(this,arguments)}function al(){return al=js(ws().m(function t(e,r,n,o){var i,a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O,S;return ws().w(function(t){for(;;)switch(t.p=t.n){case 0:if((i=window.dash_clientside=window.dash_clientside||{}).no_update||(Object.defineProperty(i,"no_update",{value:{description:"Return to prevent updating an Output."},writable:!1}),Object.defineProperty(i,"PreventUpdate",{value:{description:"Throw to prevent updating all Outputs."},writable:!1})),a=o.inputs,u=o.outputs,c=o.state,s=Date.now(),l=yl(a),f=yl(c),p={},d=qi,t.p=1,v=r.namespace,b=r.function_name,m=a.map(tl),c&&(m=mr(m,c.map(tl))),i.callback_context={},i.callback_context.triggered=o.changedPropIds.map(function(t){return{prop_id:t,value:l[t]}}),i.callback_context.triggered_id=hl(o.changedPropIds),i.callback_context.inputs_list=a,i.callback_context.inputs=l,i.callback_context.states_list=c,i.callback_context.states=f,i.callback_context.outputs_list=u,g=(y=i[v])[b].apply(y,_s(m)),delete i.callback_context,"function"!=typeof(null===(h=g)||void 0===h?void 0:h.then)){t.n=3;break}return t.n=2,g;case 2:g=t.v;case 3:u&&el(u,g).forEach(function(t){var e=Es(t,2),r=e[0],n=e[1];el(r,n).forEach(function(t){var e=Es(t,2),r=e[0],n=e[1],o=r.id,a=r.property,u=vo(o),c=p[u]=p[u]||{};n!==i.no_update&&(c[rl(a)]=n)})}),t.n=6;break;case 4:if(t.p=4,(S=t.v)!==i.PreventUpdate){t.n=5;break}d=Li,t.n=6;break;case 5:throw d="CLIENTSIDE_ERROR",S;case 6:return t.p=6,delete i.callback_context,w=Date.now()-s,O={__dash_server:w,__dash_client:w,__dash_upload:0,__dash_download:0},n.ui&&e(zs({id:o.output,usage:O,status:d,result:p,inputs:a,state:c})),t.f(6);case 7:return t.a(2,p)}},t,null,[[1,4,6,7]])})),al.apply(this,arguments)}function ul(t,e){return function(r,n){Da(t).reduce(function(t,r,o){var i,a=Es(r,2),u=a[0],c=a[1],s=u,l=[];if(u.startsWith("{")){var f=Es(Yc(u),2);s=f[0],i=f[1],l=function(t,e,r,n){var o=[],i={};return Da(t).forEach(function(a){var u,c,s=(c=2,function(t){if(Array.isArray(t))return t}(u=a)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,s=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==e);c=!0);}catch(t){s=!0,o=t}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(s)throw o}}return u}}(u,c)||function(t,e){if(t){if("string"==typeof t)return Kc(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Kc(t,e):void 0}}(u,c)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=s[0],f=s[1];if(!o.length)if(Array.isArray(f)){var p=(e.parsedChangedPropsIds[r]||e.parsedChangedPropsIds[0])[l];f.includes("MATCH")?i[l]=p:f.includes("ALL")?o=Qc(t,n(),l):f.includes("ALLSMALLER")&&(o=Qc(t,n(),l).filter(function(t){return t[l]s)){t.n=4;break}return t.p=1,y=new Blob([o]).stream().pipeThrough(new CompressionStream("gzip")),t.n=2,new Response(y).blob();case 2:d=t.v,e["Content-Encoding"]="gzip",t.n=4;break;case 3:t.p=3,b=t.v,console.warn("Sending uncompressed payload, because compressing failed:",b);case 4:return t.a(2,fetch(n,gi(r.fetch,{method:"POST",headers:e,body:d})))}},t,null,[[1,3]])}));return function(){return t.apply(this,arguments)}}();return new Promise(function(i,u){var c=function(c){var s=c.status;if(f){var b=a().callbackJobs[f];if(null!=b&&b.outdated)return t(Ks({jobId:f})),i({})}function m(e){if(r.ui){var o={__dash_server:0,__dash_client:Date.now()-y,__dash_upload:h.length,__dash_download:Number(c.headers.get("Content-Length"))};(c.headers.get("Server-Timing")||"").split(",").forEach(function(t){var e=t.split(";")[0],r=t.match(/;dur=[0-9.]+/);r&&(o[e]=Number(r[0].slice(5)))}),t(zs({id:n.output,usage:o,status:s,result:e,inputs:n.inputs,state:n.state}))}}var g=function(t){var r,o=t.multi,a=t.response;if(e.request_post&&e.request_post(n,a),o)r=a;else{var u=n.output,c=u.substr(0,u.lastIndexOf("."));r={[c]:a.props}}m(r),i(r)},w=function(){f&&t(Ks({jobId:f})),p&&t(ul(p,n)),d&&t(ul(d,n))},O=function(){var r=js(ws().m(function r(o){var a,c,s,l,f,p,d,y,h,v,b,g,O,S,j;return ws().w(function(r){for(;;)switch(r.p=r.n){case 0:a=o.body.getReader(),c=new TextDecoder,s="",f=!1,p=function(){var r=js(ws().m(function r(o){return ws().w(function(r){for(;;)switch(r.n){case 0:if(!o.done){r.n=2;break}if(f=!0,w(),!o.error){r.n=1;break}return m({}),u(new Error(o.error.message||"Callback error")),r.a(2);case 1:return e.request_post&&e.request_post(n,l),m(l||{}),i({}),r.a(2);case 2:if(!o.dist){r.n=3;break}return r.n=3,Promise.all(o.dist.map(Ec));case 3:l=o.response,cl(t,o,n);case 4:return r.a(2)}},r)}));return function(t){return r.apply(this,arguments)}}(),r.p=1;case 2:return r.n=3,a.read();case 3:if(d=r.v,y=d.done,h=d.value,!y){r.n=4;break}return r.a(3,14);case 4:s+=c.decode(h,{stream:!0}),v=s.split("\n"),s=v.pop(),b=gs(v),r.p=5,b.s();case 6:if((g=b.n()).done){r.n=10;break}if((O=g.value).trim()){r.n=7;break}return r.a(3,9);case 7:return r.n=8,p(JSON.parse(O));case 8:if(!f){r.n=9;break}return a.cancel(),r.a(2);case 9:r.n=6;break;case 10:r.n=12;break;case 11:r.p=11,S=r.v,b.e(S);case 12:return r.p=12,b.f(),r.f(12);case 13:r.n=2;break;case 14:if(!s.trim()||f){r.n=15;break}return r.n=15,p(JSON.parse(s));case 15:r.n=17;break;case 16:if(r.p=16,j=r.v,f){r.n=17;break}return f=!0,w(),l?(m(l),i({})):(m({}),u(j)),r.a(2);case 17:f||(w(),m(l||{}),i({}));case 18:return r.a(2)}},r,null,[[5,11,12,13],[1,16]])}));return function(t){return r.apply(this,arguments)}}();if(s===qi){if((c.headers.get("Content-Type")||"").includes("application/x-ndjson")&&c.body)return void O(c);c.json().then(function(e){if(!l&&e.cacheKey&&(l=e.cacheKey),!f&&e.job){var r={jobId:e.job,cacheKey:e.cacheKey,cancelInputs:e.cancel,progressDefault:e.progressDefault,output:JSON.stringify(n.outputs)};t(Vs(r)),f=e.job}e.sideUpdate&&t(ul(e.sideUpdate,n)),e.progress&&t(ul(e.progress,n)),!d&&e.progressDefault&&(d=e.progressDefault),o&&void 0===e.response?setTimeout(v,void 0!==o.interval?o.interval:500):e.dist?Promise.all(e.dist.map(Ec)).then(function(){w(),g(e)}):(w(),g(e))})}else s===Li?(w(),m({}),i({})):(w(),u(c))},s=function(){r.ui&&t(zs({id:n.output,status:Gi,result:{},inputs:n.inputs,state:n.state})),u(new Error("Callback failed: the server did not respond."))},v=function(){b().then(c,s)};v()})}function pl(t,e,r,n,o){return dl.apply(this,arguments)}function dl(){return dl=js(ws().m(function t(e,r,n,o,i){var a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O;return ws().w(function(t){for(;;)switch(t.p=t.n){case 0:return r.request_pre&&r.request_pre(o),a=Date.now(),i&&(e(ul(i.running,o)),u=i.runningOff),c=hs(),t.p=1,t.n=2,c.ensureConnected(n);case 2:return t.n=3,c.sendCallback(o,function(t){s=null==t?void 0:t.response,cl(e,t,o)});case 3:if(l=t.v,u&&e(ul(u,o)),"prevent_update"!==l.status){t.n=4;break}return n.ui&&(f=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:f,__dash_client:f,__dash_upload:0,__dash_download:0},status:Li,result:{},inputs:o.inputs,state:o.state}))),t.a(2,{});case 4:if("error"!==l.status){t.n=5;break}throw new Error(l.message||"Callback error");case 5:if(!l.stream){t.n=6;break}return r.request_post&&r.request_post(o,s),n.ui&&(p=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:p,__dash_client:p,__dash_upload:0,__dash_download:0},status:qi,result:s||{},inputs:o.inputs,state:o.state}))),t.a(2,{});case 6:return null!=(d=l.data)&&d.sideUpdate&&e(ul(d.sideUpdate,o)),v=(h=d||{}).multi,b=h.response,r.request_post&&r.request_post(o,b),v?y=b:(m=o.output,g=m.substr(0,m.lastIndexOf(".")),y={[g]:null==b?void 0:b.props}),n.ui&&(w=Date.now()-a,e(zs({id:o.output,usage:{__dash_server:w,__dash_client:w,__dash_upload:0,__dash_download:0},status:qi,result:y||{},inputs:o.inputs,state:o.state}))),t.a(2,y||{});case 7:throw t.p=7,O=t.v,u&&e(ul(u,o)),n.ui&&e(zs({id:o.output,status:Gi,result:{},inputs:o.inputs,state:o.state})),O;case 8:return t.a(2)}},t,null,[[1,7]])})),dl.apply(this,arguments)}function yl(t){if(!t)return{};for(var e={},r=0;rt.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]&&arguments[3],c=arguments.length>4?arguments[4]:void 0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,f=r().paths,d=s?s.location.length?Oe(s.location,t):t:void 0,y=s?s.location.length?Oe(s.location,n):n:void 0,h=!!s&&s.count>0&&Array.isArray(d)&&Array.isArray(y)&&d.length===y.length+s.count,v=h&&s?function(t,e,r,n){var o=Bn({},n.strs),i=Bn({},n.objs),a={},u=n.objIndex?Bn({},n.objIndex):null;return t.forEach(function(t,n){qn(t,function(t,i){var u=t.props&&t.props.id;if(u){var c=mr(e,[r+n]).concat(i);if("object"===Gn(u)){var s=Object.keys(u).sort(),l=Ie(s,u),f=s.join(",");(a[f]=a[f]||[]).push({values:l,path:c})}else o[u]=c}})}),Object.keys(a).forEach(function(t){if(i[t]=mr(i[t]||[],a[t]),u){var e=Bn({},u[t]||{});a[t].forEach(function(t){var r=t.values,n=t.path,o=Jn(r);o in e||(e[o]=n)}),u[t]=e}}),Bn(Bn({strs:o,objs:i},u?{objIndex:u}:{}),{},{events:n.events})}(d.slice(y.length),i.concat(s.location),y.length,f):$n(t,i,f);e(Iu(v)),o=mr(o,Yo(l,v,t,{chunkPath:i,patchAnalysis:c,filterRoot:u}).map(function(t){return gl(gl({},t),{},{predecessors:a})})),h||(o=mr(o,Yo(l,p,n,{removedArrayInputsOnly:!0,newPaths:v,chunkPath:i,filterRoot:u}).map(function(t){return gl(gl({},t),{},{predecessors:a})})))},w=!1;["children"].concat(m).forEach(function(t){var e,r;if(!w)if(t.includes("[]")){var n=Ol(t.split("[]").map(function(t){return t.split(".").filter(function(t){return t})}),1)[0];if(!Oe(n,h))return;g(gl(gl({},b),{},{props:gl(gl({},b.props),h)}),b,v,Yt(h),(e=d,r=Yt(u),e&&r.length&&r.every(function(t){return e.patchedProps[t]})?e:void 0)),w=!0}else{var o=t.split("."),i=Oe(o,h);if(void 0===i)return;var a=mr(Wn(p,c),["props"].concat(o)),s=Oe(a,f),l=Vn(d,o[0]);g(i,s,a,!1,l,1===o.length?function(t,e){var r=null==t?void 0:t.tailAppends[e];return r&&"object"===zn(r)?r:null}(l,o[0]):null)}});var O=Nr(function(t,e){return!(e in u)},h);if(!Ee(O)){var S=r(),j=S.graphs,_=S.paths;o=mr(o,Xo(i,O,j,_).map(function(t){return gl(gl({},t),{},{predecessors:a})}))}}}),i.push(gl(gl({},t),{},{executionMeta:{allProps:Qe(Wo,He(t.getOutputs(r().paths))),updatedProps:He(Qe(function(t){var e=Ol(t,2),r=e[0],n=e[1];return Qe(function(t){return Wo({id:r,property:t})},Yt(n))},Da(f)))}}))),void 0!==p){var h;if(t.callback.no_output){var v=Yt(t.changedPropIds).join(", ");h="Callback error with no output from input ".concat(v)}else{var b=d?Qe(Wo,He([d.outputs])).join(", "):s;h="Callback error updating ".concat(b)}if(c){var m=c.namespace,g=c.function_name;h+=" via clientside function ".concat(m,".").concat(g)}Wu(p,h,e),i.push(gl(gl({},t),{},{executionMeta:{allProps:Qe(Wo,He(t.getOutputs(r().paths))),updatedProps:[]}}))}}}),e(Ws([n.length?Ls(n):null,n.length?Cs(n.length):null,i.length?Us(i):null,o.length?Ms(o):null]))},inputs:["callbacks.executed"]},_l=jl;function El(t){return El="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},El(t)}function Pl(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return kl(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(kl(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,kl(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,kl(f,"constructor",s),kl(s,"constructor",c),c.displayName="GeneratorFunction",kl(s,o,"GeneratorFunction"),kl(f),kl(f,o,"Generator"),kl(f,n,function(){return this}),kl(f,"toString",function(){return"[object Generator]"}),(Pl=function(){return{w:i,m:p}})()}function kl(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}kl=function(t,e,r,n){function i(e,r){kl(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},kl(t,e,r,n)}function Al(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Tl(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(zl(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,zl(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,zl(f,"constructor",s),zl(s,"constructor",c),c.displayName="GeneratorFunction",zl(s,o,"GeneratorFunction"),zl(f),zl(f,o,"Generator"),zl(f,n,function(){return this}),zl(f,"toString",function(){return"[object Generator]"}),(Wl=function(){return{w:i,m:p}})()}function zl(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}zl=function(t,e,r,n){function i(e,r){zl(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},zl(t,e,r,n)}function Vl(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Kl(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r(null!==(n=e.priority)&&void 0!==n?n:"")?-1:1},of=function(t,e){var r=(0,t.getOutputs)(e),n=He(r),o=[],i={};return n.forEach(function(t){var e=t.id,r=t.property,n=vo(e);(i[n]=i[n]||[]).push(r),o.push(Wo({id:n,property:r}))}),{allOutputs:r,allPropIds:o}},af=function(t,e){var r=[].concat(tf(He(t.getInputs(e))),tf(He(t.getState(e)))),n=new Map(r.map(function(t){return[vo(t.id),t]}));return Array.from(n.values())},uf={observer:function(){var t=Zl(Wl().m(function t(e){var r,n,o,i,a,u,c,s,l,f,p,d,y,h,v,b,m,g,w,O,S,j,_,E,P,k,A,T,x,I,C,R,D,N;return Wl().w(function(t){for(;;)switch(t.n){case 0:if(r=e.dispatch,n=e.getState,o=n(),i=o.callbacks,a=i.executing,u=i.watched,c=o.config,s=o.hooks,l=o.layout,f=o.paths,p=o.appLifecycle,d=n(),y=d.callbacks.prioritized,p===ii("HYDRATED")){t.n=1;break}return t.a(2);case 1:h=function(t){return Jl(t,c)},v=a.filter(h).length+u.filter(h).length,b=Math.max(0,12-v),y=Fl(nf,y),m=xr(h,y),g=Ql(m,2),w=g[0],O=g[1],j=xr(S=function(t){return!0===Hl(l,f,af(t,f))},w),_=Ql(j,2),E=_[0],P=_[1],k=E.slice(0,b),A=P.slice(0,b-k.length),T=xr(S,O),x=Ql(T,2),I=x[0],C=x[1],R=[].concat(tf(I),tf(k)),D=[].concat(tf(C),tf(A)),R.length&&r(Ws([Bs(R),Ds(Qe(function(t){return vl(t,c,s,f,l,of(t,f),r,n)},R))])),D.length&&(N=Qe(function(t){return Kl(Kl(Kl({},t),of(t,f)),{},{isReady:Hl(l,f,af(t,f))})},D),r(Ws([Bs(D),Is(N)])),N.forEach(function(){var t=Zl(Wl().m(function t(e){var o,i,a;return Wl().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,e.isReady;case 1:if(o=n(),i=o.callbacks.blocked,En(function(t){return t===e||t.isReady===e.isReady},i)){t.n=2;break}return t.a(2);case 2:a=vl(e,c,s,f,l,e,r,n),r(Ws([Gs([e]),Ds([a])]));case 3:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}()));case 2:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}(),inputs:["callbacks.prioritized","callbacks.completed"]},cf=uf,sf=function(){function t(t,e,r,n){this.valueFn=t,this.valueAcc=e,this.keyFn=r,this.xf=n,this.inputs={}}return t.prototype["@@transducer/init"]=Ne,t.prototype["@@transducer/result"]=function(t){var e;for(e in this.inputs)if(Ft(e,this.inputs)&&(t=this.xf["@@transducer/step"](t,this.inputs[e]))["@@transducer/reduced"]){t=t["@@transducer/value"];break}return this.inputs=null,this.xf["@@transducer/result"](t)},t.prototype["@@transducer/step"]=function(t,e){var r=this.keyFn(e);return this.inputs[r]=this.inputs[r]||[r,Ri(this.valueAcc,!1)],this.inputs[r][1]=this.valueFn(this.inputs[r][1],e),t},t}();function lf(t,e,r){return function(n){return new sf(t,e,r,n)}}var ff=qt(me("groupBy",ze(4,[],Re([],lf,function(t,e,r,n){var o=ur(function(n,o){var i=r(o),a=t(Ft(i,n)?n[i]:Ri(e,!1),o);return a&&a["@@transducer/reduced"]?gr(n):(n[i]=a,n)});return ir(o,{},n)}))(function(t,e){return t.push(e),t},[]))),pf=qt(function(t,e){return sn({},e,t)});function df(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return yf(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(yf(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,yf(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,yf(f,"constructor",s),yf(s,"constructor",c),c.displayName="GeneratorFunction",yf(s,o,"GeneratorFunction"),yf(f),yf(f,o,"Generator"),yf(f,n,function(){return this}),yf(f,"toString",function(){return"[object Generator]"}),(df=function(){return{w:i,m:p}})()}function yf(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}yf=function(t,e,r,n){function i(e,r){yf(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},yf(t,e,r,n)}function hf(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}var vf=function(){var t,e=(t=df().m(function t(e){var r,n;return df().w(function(t){for(;;)if(0===t.n)return n=new Promise(function(t){return r=t}),setTimeout(r,e),t.a(2,n)},t)}),function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){hf(i,n,o,a,u,"next",t)}function u(t){hf(i,n,o,a,u,"throw",t)}a(void 0)})});return function(t){return e.apply(this,arguments)}}();function bf(t){return bf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bf(t)}function mf(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}}throw new TypeError(bf(t)+" is not iterable")}function gf(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return wf(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(wf(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,wf(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,wf(f,"constructor",s),wf(s,"constructor",c),c.displayName="GeneratorFunction",wf(s,o,"GeneratorFunction"),wf(f),wf(f,o,"Generator"),wf(f,n,function(){return this}),wf(f,"toString",function(){return"[object Generator]"}),(gf=function(){return{w:i,m:p}})()}function wf(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}wf=function(t,e,r,n){function i(e,r){wf(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},wf(t,e,r,n)}function Of(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Sf(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r4&&void 0!==arguments[4]?arguments[4]:null,i=[];for(var a in t)if(t.hasOwnProperty(a)){var u=void 0;try{"function"!=typeof t[a]?(u=Error((n||"React class")+": "+r+" type `"+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+cp(t[a])+"`.")).name="Invariant Violation":u=t[a](e,a,n,r,null,up()())}catch(t){u=t}if(!u||u instanceof Error||i.push((n||"React class")+": type specification of "+r+" `"+a+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+cp(u)+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error){var c=o&&o()||"";i.push("Failed "+r+" type: "+u.message+c)}}return i.join("\n\n")}(e.propTypes,r,"component prop",e);return i&&function(t,e,r){var n,o=t.split("`");if(ie("is marked as required",t)){var i=o[1];n="".concat(i," in ").concat(r),e.id&&(n+=' with ID "'.concat(e.id,'"')),n+=" is required but it was not provided."}else if(ie("Bad object",t))n=t.split("supplied to ")[0]+"supplied to ".concat(r)+".\nBad"+t.split(".\nBad")[1];else{if(!ie("Invalid ",t)||!ie(" supplied to ",t))throw new Error(t);var a=o[1];if(n="Invalid argument `".concat(a,"` passed into ").concat(r),e.id&&(n+=' with ID "'.concat(e.id,'"')),n+=".",ie(", expected ",t)){var u=t.split(", expected ")[1];n+="\nExpected ".concat(u)}if(ie(" of type `",t)){var c=t.split(" of type `")[1].split("`")[0];n+="\nWas supplied type `".concat(c,"`.")}if(Tn(a,e)){var s=JSON.stringify(e[a],null,2);s&&(ie("\n",s)?n+="\nValue provided: \n".concat(s):n+="\nValue provided: ".concat(s))}}throw new Error(n)}(i,r,o.type),n}var lp=w()().createContext({});function fp(t){var e=t.children,r=t.componentPath,n=(0,g().useMemo)(function(){return JSON.stringify(r)},[r]),o=dt(),i=(0,g().useCallback)(function(t){var e=t||{},i=e.extraPath,a=e.rawPath,u=e.filterFunc,c=[n];i?c=[JSON.stringify(mr(r,i))]:a&&(c=[JSON.stringify(a)]);var s=pe([],c,o.getState().loading);return u?s.filter(u).length>0:s.length>0},[n]),a=(0,g().useCallback)(function(t){var e=t||{},o=e.filterFunc,i=e.extraPath,a=e.rawPath;return U(function(t){var e=[n];i?e=[JSON.stringify(mr(r,i))]:a&&(e=[JSON.stringify(a)]);var u=pe([],e,t.loading);return o?u.filter(o).length>0:u.length>0})},[n]),u=(0,g().useMemo)(function(){return{componentPath:r,isLoading:i,useLoading:a,useSelector:U,useStore:dt,useDispatch:bt}},[n]);return w()().createElement(lp.Provider,{value:u},e)}function pp(t){return pp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pp(t)}var dp=["componentPath","_dashprivate_error","_passedComponent","_newRender"],yp=["_dash_error"];function hp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function vp(t,e,r){return(e=function(t){var e=function(t){if("object"!=pp(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=pp(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==pp(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function bp(t){return function(t){if(Array.isArray(t))return gp(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||mp(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mp(t,e){if(t){if("string"==typeof t)return gp(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?gp(t,e):void 0}}function gp(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r3&&void 0!==arguments[3]&&arguments[3];if(Array.isArray(t)){var i=ba(e),a=n?b.current[i]:void 0;return b.current[i]=t,t.map(function(t,i){if(va(t)){var u=n&&(null==a?void 0:a[i])===t;return C(t,mr(o,["props"].concat(bp(e),[i])),u?0:r)}return t})}return va(t)?C(t,mr(o,["props"].concat(bp(e))),r):t},[o]),D=function(t){for(var e=1;e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(jp(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,jp(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,jp(f,"constructor",s),jp(s,"constructor",c),c.displayName="GeneratorFunction",jp(s,o,"GeneratorFunction"),jp(f),jp(f,o,"Generator"),jp(f,n,function(){return this}),jp(f,"toString",function(){return"[object Generator]"}),(Sp=function(){return{w:i,m:p}})()}function jp(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}jp=function(t,e,r,n){function i(e,r){jp(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},jp(t,e,r,n)}function _p(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function Ep(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0:t}))&&t.push(i):i.getOutputs(o).some(function(t){return Array.isArray(t)?t.length>0:t})&&t.push(i),t},[]);t(Ms([].concat(Su(a),Su(u))))}(t,e),t(Eu(ii("HYDRATED")))}))}catch(t){a.frontEnd.length||a.backEnd.length||i(_u({type:"backEnd",error:t})),p=!0}finally{r(p)}}})}Pp.propTypes={appLifecycle:_().oneOf([ii("STARTED"),ii("HYDRATED"),ii("DESTROYED")]),dispatch:_().func,dependenciesRequest:_().object,graphs:_().object,hooks:_().object,layoutRequest:_().object,layout:_().any,history:_().any,error:_().object,config:_().object};var Ap=lt(function(t){return{appLifecycle:t.appLifecycle,dependenciesRequest:t.dependenciesRequest,hooks:t.hooks,layoutRequest:t.layoutRequest,layout:t.layout,graphs:t.graphs,history:t.history,error:t.error,config:t.config}},function(t){return{dispatch:t}})(Pp);function Tp(t){return t.isLoading?w()().createElement("div",{className:"_dash-loading-callback"}):null}Tp.propTypes={isLoading:_().bool.isRequired};var xp=lt(function(t){return{isLoading:t.isLoading}})(Tp);s(),d(),l(),p(),f(),y();var Ip=r(217),Cp={};function Rp(t){var e=t.dispatch,r=t.history,n=w()().createElement("span",{key:"undoLink",className:"_dash-undo-redo-link",onClick:function(){return e(Bu)}},w()().createElement("div",{className:"_dash-icon-undo"},"↺"),w()().createElement("div",{className:"_dash-undo-redo-label"},"undo")),o=w()().createElement("span",{key:"redoLink",className:"_dash-undo-redo-link",onClick:function(){return e(Fu)}},w()().createElement("div",{className:"_dash-icon-redo"},"↻"),w()().createElement("div",{className:"_dash-undo-redo-label"},"redo"));return w()().createElement("div",{className:"_dash-undo-redo"},w()().createElement("div",null,r.past.length>0?n:null,r.future.length>0?o:null))}Cp.styleTagTransform=function t(){return t.c||(t.c=r.n(y()))}()(),Cp.setAttributes=function t(){return t.c||(t.c=r.n(p()))}()(),Cp.insert=function t(){return t.c||(t.c=r.n(l()))}()().bind(null,"head"),Cp.domAPI=function t(){return t.c||(t.c=r.n(d()))}()(),Cp.insertStyleElement=function t(){return t.c||(t.c=r.n(f()))}()(),function t(){return t.c||(t.c=r.n(s()))}()()(Ip.A,Cp),Ip.A&&Ip.A.locals&&Ip.A.locals,Rp.propTypes={history:_().object,dispatch:_().func};var Dp=lt(function(t){return{history:t.history}},function(t){return{dispatch:t}})(Rp),Np=Ot(function(t){return function(e,r){return t(e,r)?-1:t(r,e)?1:0}}),Mp=qt(function(t,e){return tt.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(r.content.files);try{for(a.s();!(o=a.n()).done;){var u=o.value;if(!u.is_css){i=!1;break}i=!0;for(var c=[],s=document.evaluate('//link[contains(@href, "'.concat(u.url,'")]'),this._head),l=s.iterateNext();l;)c.push(l),l=s.iterateNext();if(we(function(t){return t.setAttribute("disabled","disabled")},c),u.modified>0){var f=document.createElement("link");f.href="".concat(u.url,"?m=").concat(u.modified),f.type="text/css",f.rel="stylesheet",this._head.appendChild(f)}}}catch(t){a.e(t)}finally{a.f()}i||window.location.reload()}else null!==this.state.intervalId&&500===r.status&&(this._retry>this.state.max_retry&&(this.clearInterval(),window.alert("Hot reloading is disabled after failing ".concat(this._retry," times. ")+"Please check your application for errors, then refresh the page.")),this._retry++)}},{key:"componentDidMount",value:function(){var t=this.props,e=t.dispatch,r=t.reloadRequest,n=this.state,o=n.disabled,i=n.interval;if(!o&&!this.state.intervalId){var a=window.setInterval(function(){"loading"!==r.status&&e(wc("_reload-hash","GET","reloadRequest"))},i);this.setState({intervalId:a})}}},{key:"componentWillUnmount",value:function(){!this.state.disabled&&this.state.intervalId&&this.clearInterval()}},{key:"render",value:function(){return null}}],o=[{key:"getDerivedStateFromProps",value:function(t){return Ee(t.reloadRequest)||"loading"===t.reloadRequest.status?null:{reloadRequest:t.reloadRequest}}}],n&&Lp(r.prototype,n),o&&Lp(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(w()().Component);Jp.defaultProps={},Jp.propTypes={id:_().string,config:_().object,reloadRequest:_().object,dispatch:_().func,interval:_().number};var $p=lt(function(t){return{config:t.config,reloadRequest:t.reloadRequest}},function(t){return{dispatch:t}})(Jp);function Wp(){var t=document.getElementById("_dash-config");return JSON.parse(null!=t&&t.textContent?null==t?void 0:t.textContent:"{}")}var zp=qt(function(t,e){var r={};return mt(e.length,function(){var n=t.apply(this,arguments);return Ft(n,r)||(r[n]=e.apply(this,arguments)),r[n]})}),Vp=zp;function Kp(t){return Kp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kp(t)}function Yp(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Qp(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length)&&Tn(String(r),t))return t[r]}}function sd(t,e){if("string"==typeof e&&Tn(e,t))return t[e]}function ld(t,e){if(Array.isArray(e)){var r,n=t,o=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return ud(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ud(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(e);try{for(o.s();!(r=o.n()).done;){var i=r.value;if(Array.isArray(n))n=cd(n,i);else{if(null===n||"object"!==ad(n))return;n=sd(n,i)}}}catch(t){o.e(t)}finally{o.f()}return n}}function fd(t){return fd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fd(t)}function pd(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof u?n:u,s=Object.create(c.prototype);return dd(s,"_invoke",function(r,n,o){var i,u,c,s=0,l=o||[],f=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return i=e,u=0,c=t,p.n=r,a}};function d(r,n){for(u=r,c=n,e=0;!f&&s&&!o&&e3?(o=y===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=d&&((o=r<2&&dn||n>y)&&(i[4]=r,i[5]=n,p.n=y,u=0))}if(o||r>1)return a;throw f=!0,n}return function(o,l,y){if(s>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),u=l,c=y;(e=u<2?t:c)||!f;){i||(u?u<3?(u>1&&(p.n=-1),d(u,c)):p.n=c:p.v=c);try{if(s=2,i){if(u||(o="next"),e=i[o]){if(!(e=e.call(i,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,u<2&&(u=0)}else 1===u&&(e=i.return)&&e.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((e=(f=p.n<0)?c:r.call(n,p))!==a)break}catch(e){i=t,u=1,c=e}finally{s=1}}return{value:e,done:f}}}(r,o,i),!0),s}var a={};function u(){}function c(){}function s(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(dd(e={},n,function(){return this}),e),f=s.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,dd(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return c.prototype=s,dd(f,"constructor",s),dd(s,"constructor",c),c.displayName="GeneratorFunction",dd(s,o,"GeneratorFunction"),dd(f),dd(f,o,"Generator"),dd(f,n,function(){return this}),dd(f,"toString",function(){return"[object Generator]"}),(pd=function(){return{w:i,m:p}})()}function dd(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}dd=function(t,e,r,n){function i(e,r){dd(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(i("next",0),i("throw",1),i("return",2))},dd(t,e,r,n)}function yd(t){return function(t){if(Array.isArray(t))return Od(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||wd(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function vd(t){for(var e=1;e=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}function wd(t,e){if(t){if("string"==typeof t)return Od(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Od(t,e):void 0}}function Od(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r0&&(console.log("[Dash] Re-triggering ".concat(r.length," persistent callback(s)")),e.dispatch(Ms(r)))}}},a.onDisconnected=function(t){console.log("[Dash] WebSocket disconnected: ".concat(t)),c=!0},a.onError=function(t,e){console.error("[Dash] WebSocket error: ".concat(t),e)},document.addEventListener("visibilitychange",function(){"visible"===document.visibilityState&&(a.connected?a.notifyTabVisible():c&&(console.log("[Dash] Tab visible, reconnecting WebSocket..."),a.ensureConnected(r).catch(function(t){return console.error("[Dash] Failed to reconnect:",t)})))}),null!==(i=r.websocket)&&void 0!==i&&i.enabled){t.n=3;break}return t.a(2);case 3:return s=Ed(r),t.p=4,t.n=5,a.connect(r.websocket.worker_url,s,r.websocket.inactivity_timeout);case 5:t.n=7;break;case 6:t.p=6,l=t.v,console.error("[Dash] Failed to connect to WebSocket worker:",l);case 7:return t.a(2)}},t,null,[[4,6]])}),_d=function(){var e=this,r=arguments;return new Promise(function(n,o){var i=t.apply(e,r);function a(t){md(i,n,o,a,u,"next",t)}function u(t){md(i,n,o,a,u,"throw",t)}a(void 0)})},_d.apply(this,arguments)}function Ed(t){var e;if(null===(e=t.websocket)||void 0===e||!e.url)throw new Error("WebSocket URL not configured");var r="https:"===window.location.protocol?"wss:":"ws:",n=window.location.host;return"".concat(r,"//").concat(n).concat(t.websocket.url)}function Pd(t){return Pd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pd(t)}function kd(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Ad(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);rt.length)&&(e=t.length);for(var r=0,n=Array(e);r1&&void 0!==arguments[1]?arguments[1]:"about:blank";if(""===t)return t;var r=t.replace(Kd,"").replace(Yd,"").replace(Qd,function(t,e){return String.fromCharCode(e)}).trim();return Vd.test(r)?e:t}:Xd.clean_url,Xd.Patch=ac,window.DashRenderer=Fd}(),window.dash_renderer={}}(); \ No newline at end of file diff --git a/dash/dash-renderer/package-lock.json b/dash/dash-renderer/package-lock.json index dd04896cb7..256190c27e 100644 --- a/dash/dash-renderer/package-lock.json +++ b/dash/dash-renderer/package-lock.json @@ -1,12 +1,12 @@ { "name": "dash-renderer", - "version": "3.5.2", + "version": "3.5.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "dash-renderer", - "version": "3.5.2", + "version": "3.5.3", "license": "MIT", "dependencies": { "@babel/polyfill": "^7.12.1", diff --git a/dash/dash-renderer/package.json b/dash/dash-renderer/package.json index e7875a6c10..17b68955af 100644 --- a/dash/dash-renderer/package.json +++ b/dash/dash-renderer/package.json @@ -1,6 +1,6 @@ { "name": "dash-renderer", - "version": "3.5.2", + "version": "3.5.3", "description": "render dash components in react", "main": "build/dash_renderer.min.js", "scripts": { diff --git a/dash/dash.py b/dash/dash.py index 8c3bf625ef..f2cd2e4c3d 100644 --- a/dash/dash.py +++ b/dash/dash.py @@ -17,7 +17,7 @@ import mimetypes import hashlib import base64 -from urllib.parse import urlparse +from urllib.parse import unquote, urlparse from typing import ( Any, Callable, @@ -479,11 +479,16 @@ class Dash(ObsoleteChecker): :param shared_storage: Backend for ``dash.ctx.shared_storage`` and the streaming-callback transport: a ``BaseSharedStorage`` subclass or - instance, or ``None`` to disable. Default ``LocalSharedStorage`` (one - machine or pod). When not passed, the ``DASH_SHARED_STORAGE`` - environment variable can choose it: ``local``, ``none``, - ``diskcache:///absolute/path``, or a ``redis://`` / ``rediss://`` URL. - An explicit argument, including ``None``, always wins. + instance, or ``None`` to disable. Off by default: pass + ``LocalSharedStorage`` for one machine or pod. Streaming callbacks + over HTTP need it, and server setup raises without it; WebSocket + streaming callbacks do not. When not passed, the + ``DASH_SHARED_STORAGE`` environment variable can choose it: ``local``, + ``none``, ``diskcache:///absolute/path``, or a ``redis://`` / + ``rediss://`` URL. An explicit argument, including ``None``, always + wins. The persistent ``LocalSharedStorage`` modes need + ``pip install "dash[shared_storage]"``; the diskcache and Redis backends + need their own ``dash[diskcache]`` / ``dash[redis]`` extra. Stream requests are signed per page load, so with several workers or pods they all need the same signing secret: set ``server.secret_key`` @@ -1036,7 +1041,7 @@ def layout(self, value: Any): @property def shared_storage_enabled(self) -> bool: - """Whether this app has a shared-storage backend (not ``None``). + """Whether this app has a shared-storage backend (off by default). Cheap to read and does not start the backend, unlike ``shared_storage``. """ @@ -1047,13 +1052,14 @@ def shared_storage(self) -> BaseSharedStorage: """The app's shared storage (state manager + pub/sub), backend-agnostic. Started on first access in the worker that uses it. Access it from a - callback via ``dash.ctx.shared_storage``. Raises if the app was created - with ``shared_storage=None``. + callback via ``dash.ctx.shared_storage``. Raises if the app has no + shared storage (pass ``shared_storage=`` or set ``DASH_SHARED_STORAGE``). """ if self._shared_storage_arg is None: raise SharedStorageError( "Shared storage is disabled for this app; construct it with " - "Dash(shared_storage=...) to use dash.ctx.shared_storage." + "Dash(shared_storage=...) or set DASH_SHARED_STORAGE to use " + "dash.ctx.shared_storage." ) if self._shared_storage_instance is None: with self._shared_storage_lock: @@ -1265,14 +1271,14 @@ def _config(self): "heartbeat_interval": self._websocket_heartbeat_interval, } - # Streaming callbacks use the single multiplexed downlink only when a - # shared-storage backend is available to broker frames across workers; - # otherwise the client streams each callback on its own connection. - # The worker script hosts that downlink in a SharedWorker so every tab - # of the browser shares one connection (browsers cap connections per - # host); the renderer falls back to a per-tab downlink without it. - # "mode" is how the downlink is served: one open connection (ASGI) or - # polling (WSGI, where an open response would pin a worker thread). + # HTTP streaming callbacks need shared storage to broker frames across + # workers onto the single multiplexed downlink (_setup_server refuses + # them without it). The worker script hosts that downlink in a + # SharedWorker so every tab of the browser shares one connection + # (browsers cap connections per host); the renderer falls back to a + # per-tab downlink without SharedWorker support. "mode" is how the + # downlink is served: one open connection (ASGI) or polling (WSGI, + # where an open response would pin a worker thread). config["stream"] = {"enabled": self.shared_storage_enabled} if self.shared_storage_enabled: config["stream"].update( @@ -1928,6 +1934,12 @@ def _setup_server(self): _callback.GLOBAL_CALLBACK_LIST.clear() _validate.validate_background_callbacks(self.callback_map) + _validate.validate_stream_callbacks( + self.callback_map, + self.shared_storage_enabled, + self._websocket_callbacks, + self.backend.websocket_capability, + ) cancels = {} @@ -2851,7 +2863,9 @@ async def router_async(): async def update(pathname_, search_, **states): query_parameters = _parse_query_string(search_) page, path_variables = _path_to_page( - self.strip_relative_path(pathname_) + self.strip_relative_path( + unquote(pathname_) if pathname_ else pathname_ + ) ) if page == {}: for module, page in _pages.PAGE_REGISTRY.items(): @@ -2939,7 +2953,9 @@ def router_sync(): def update(pathname_, search_, **states): query_parameters = _parse_query_string(search_) page, path_variables = _path_to_page( - self.strip_relative_path(pathname_) + self.strip_relative_path( + unquote(pathname_) if pathname_ else pathname_ + ) ) if page == {}: for module, page in _pages.PAGE_REGISTRY.items(): diff --git a/dash/dash_table/async-export.js b/dash/dash_table/async-export.js index 004e14ea4e..1c8f8c3653 100644 --- a/dash/dash_table/async-export.js +++ b/dash/dash_table/async-export.js @@ -1,3 +1,3 @@ /*! For license information please see async-export.js.LICENSE.txt */ -"use strict";(self.webpackChunkdash_table=self.webpackChunkdash_table||[]).push([[404],{3959:function(e,t,r){r.r(t),r.d(t,{CFB:function(){return Ce},SSF:function(){return ke},parse_xlscfb:function(){return wl},parse_zip:function(){return Sf},read:function(){return Of},readFile:function(){return Rf},readFileSync:function(){return Rf},set_cptable:function(){return v},set_fs:function(){return Re},stream:function(){return Qf},utils:function(){return Zf},write:function(){return Lf},writeFile:function(){return Uf},writeFileAsync:function(){return Wf},writeFileSync:function(){return Uf},writeFileXLSX:function(){return Bf},writeXLSX:function(){return Pf}});var a={version:"0.18.5"},n=1200,s=1252,i=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],o={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},c=function(e){-1!=i.indexOf(e)&&(s=o[0]=e)},l=function(e){n=e,c(e)};function f(){l(1200),c(1252)}function h(e){for(var t=[],r=0,a=e.length;r>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r+1)+(e.charCodeAt(2*r)<<8));return t.join("")}var d,p=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1);return 255==t&&254==r?function(e){for(var t=[],r=0;r>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r)+(e.charCodeAt(2*r+1)<<8));return t.join("")}(e.slice(2)):254==t&&255==r?u(e.slice(2)):65279==t?e.slice(1):e},m=function(e){return String.fromCharCode(e)},g=function(e){return String.fromCharCode(e)};function v(e){d=e,l=function(e){n=e,c(e)},p=function(e){return 255===e.charCodeAt(0)&&254===e.charCodeAt(1)?d.utils.decode(1200,h(e.slice(2))):e},m=function(e){return 1200===n?String.fromCharCode(e):d.utils.decode(n,[255&e,e>>8])[0]},g=function(e){return d.utils.decode(s,[e])[0]},Er()}var b=null,w="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function T(e){for(var t="",r=0,a=0,n=0,s=0,i=0,o=0,c=0,l=0;l>2,i=(3&r)<<4|(a=e.charCodeAt(l++))>>4,o=(15&a)<<2|(n=e.charCodeAt(l++))>>6,c=63&n,isNaN(a)?o=c=64:isNaN(n)&&(c=64),t+=w.charAt(s)+w.charAt(i)+w.charAt(o)+w.charAt(c);return t}function E(e){var t="",r=0,a=0,n=0,s=0,i=0,o=0;e=e.replace(/[^\w\+\/\=]/g,"");for(var c=0;c>4,t+=String.fromCharCode(r),a=(15&s)<<4|(i=w.indexOf(e.charAt(c++)))>>2,64!==i&&(t+=String.fromCharCode(a)),n=(3&i)<<6|(o=w.indexOf(e.charAt(c++))),64!==o&&(t+=String.fromCharCode(n));return t}var S=function(){return"undefined"!=typeof Buffer&&"undefined"!=typeof process&&void 0!==process.versions&&!!process.versions.node}(),y=function(){if("undefined"!=typeof Buffer){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(t){e=!0}return e?function(e,t){return t?new Buffer(e,t):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function k(e){return S?Buffer.alloc?Buffer.alloc(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}function _(e){return S?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}var A=function(e){return S?y(e,"binary"):e.split("").map(function(e){return 255&e.charCodeAt(0)})};function x(e){if("undefined"==typeof ArrayBuffer)return A(e);for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),a=0;a!=e.length;++a)r[a]=255&e.charCodeAt(a);return t}function C(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");for(var t=[],r=0;r=0;)t+=e.charAt(r--);return t}function F(e,t){var r=""+e;return r.length>=t?r:Je("0",t-r.length)+r}function P(e,t){var r=""+e;return r.length>=t?r:Je(" ",t-r.length)+r}function L(e,t){var r=""+e;return r.length>=t?r:r+Je(" ",t-r.length)}var M=Math.pow(2,32);function U(e,t){return e>M||e<-M?function(e,t){var r=""+Math.round(e);return r.length>=t?r:Je("0",t-r.length)+r}(e,t):function(e,t){var r=""+e;return r.length>=t?r:Je("0",t-r.length)+r}(Math.round(e),t)}function B(e,t){return t=t||0,e.length>=7+t&&103==(32|e.charCodeAt(t))&&101==(32|e.charCodeAt(t+1))&&110==(32|e.charCodeAt(t+2))&&101==(32|e.charCodeAt(t+3))&&114==(32|e.charCodeAt(t+4))&&97==(32|e.charCodeAt(t+5))&&108==(32|e.charCodeAt(t+6))}var W=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],H=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]],z={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'},V={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},G={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function j(e,t,r){for(var a=e<0?-1:1,n=e*a,s=0,i=1,o=0,c=1,l=0,f=0,h=Math.floor(n);lt&&(l>t?(f=c,o=s):(f=l,o=i)),!r)return[0,a*o,f];var u=Math.floor(a*o/f);return[u,a*o-u*f,f]}function X(e,t,r){if(e>2958465||e<0)return null;var a=0|e,n=Math.floor(86400*(e-a)),s=0,i=[],o={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(o.u)<1e-6&&(o.u=0),t&&t.date1904&&(a+=1462),o.u>.9999&&(o.u=0,86400==++n&&(o.T=n=0,++a,++o.D)),60===a)i=r?[1317,10,29]:[1900,2,29],s=3;else if(0===a)i=r?[1317,8,29]:[1900,1,0],s=6;else{a>60&&--a;var c=new Date(1900,0,1);c.setDate(c.getDate()+a-1),i=[c.getFullYear(),c.getMonth()+1,c.getDate()],s=c.getDay(),a<60&&(s=(s+6)%7),r&&(s=function(e,t){t[0]-=581;var r=e.getDay();return e<60&&(r=(r+6)%7),r}(c,i))}return o.y=i[0],o.m=i[1],o.d=i[2],o.S=n%60,n=Math.floor(n/60),o.M=n%60,n=Math.floor(n/60),o.H=n,o.q=s,o}var Y=new Date(1899,11,31,0,0,0),K=Y.getTime(),J=new Date(1900,2,1,0,0,0);function q(e,t){var r=e.getTime();return t?r-=1262304e5:e>=J&&(r+=864e5),(r-(K+6e4*(e.getTimezoneOffset()-Y.getTimezoneOffset())))/864e5}function Z(e){return-1==e.indexOf(".")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function Q(e){var t,r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E);return t=r>=-4&&r<=-1?e.toPrecision(10+r):Math.abs(r)<=9?function(e){var t=e<0?12:11,r=Z(e.toFixed(12));return r.length<=t||(r=e.toPrecision(10)).length<=t?r:e.toExponential(5)}(e):10===r?e.toFixed(10).substr(0,12):function(e){var t=Z(e.toFixed(11));return t.length>(e<0?12:11)||"0"===t||"-0"===t?e.toPrecision(6):t}(e),Z(function(e){return-1==e.indexOf("E")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}(t.toUpperCase()))}function ee(e,t){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(0|e)===e?e.toString(10):Q(e);case"undefined":return"";case"object":if(null==e)return"";if(e instanceof Date)return Te(14,q(e,t&&t.date1904),t)}throw new Error("unsupported value in General format: "+e)}function te(e,t,r,a){var n,s="",i=0,o=0,c=r.y,l=0;switch(e){case 98:c=r.y+543;case 121:switch(t.length){case 1:case 2:n=c%100,l=2;break;default:n=c%1e4,l=4}break;case 109:switch(t.length){case 1:case 2:n=r.m,l=t.length;break;case 3:return H[r.m-1][1];case 5:return H[r.m-1][0];default:return H[r.m-1][2]}break;case 100:switch(t.length){case 1:case 2:n=r.d,l=t.length;break;case 3:return W[r.q][0];default:return W[r.q][1]}break;case 104:switch(t.length){case 1:case 2:n=1+(r.H+11)%12,l=t.length;break;default:throw"bad hour format: "+t}break;case 72:switch(t.length){case 1:case 2:n=r.H,l=t.length;break;default:throw"bad hour format: "+t}break;case 77:switch(t.length){case 1:case 2:n=r.M,l=t.length;break;default:throw"bad minute format: "+t}break;case 115:if("s"!=t&&"ss"!=t&&".0"!=t&&".00"!=t&&".000"!=t)throw"bad second format: "+t;return 0!==r.u||"s"!=t&&"ss"!=t?(o=a>=2?3===a?1e3:100:1===a?10:1,(i=Math.round(o*(r.S+r.u)))>=60*o&&(i=0),"s"===t?0===i?"0":""+i/o:(s=F(i,2+a),"ss"===t?s.substr(0,2):"."+s.substr(2,t.length-1))):F(r.S,t.length);case 90:switch(t){case"[h]":case"[hh]":n=24*r.D+r.H;break;case"[m]":case"[mm]":n=60*(24*r.D+r.H)+r.M;break;case"[s]":case"[ss]":n=60*(60*(24*r.D+r.H)+r.M)+Math.round(r.S+r.u);break;default:throw"bad abstime format: "+t}l=3===t.length?1:2;break;case 101:n=c,l=1}return l>0?F(n,l):""}function re(e){if(e.length<=3)return e;for(var t=e.length%3,r=e.substr(0,t);t!=e.length;t+=3)r+=(r.length>0?",":"")+e.substr(t,3);return r}var ae=/%/g;function ne(e,t){var r,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+ne(e,-t);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%n;if(s<0&&(s+=n),-1===(r=(t/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).indexOf("e")){var i=Math.floor(Math.log(t)*Math.LOG10E);for(-1===r.indexOf(".")?r=r.charAt(0)+"."+r.substr(1)+"E+"+(i-r.length+s):r+="E+"+(i-s);"0."===r.substr(0,2);)r=(r=r.charAt(0)+r.substr(2,n)+"."+r.substr(2+n)).replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");r=r.replace(/\+-/,"-")}r=r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,r,a){return t+r+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else r=t.toExponential(a);return e.match(/E\+00$/)&&r.match(/e[+-]\d$/)&&(r=r.substr(0,r.length-1)+"0"+r.charAt(r.length-1)),e.match(/E\-/)&&r.match(/e\+/)&&(r=r.replace(/e\+/,"e")),r.replace("e","E")}var se=/# (\?+)( ?)\/( ?)(\d+)/,ie=/^#*0*\.([0#]+)/,oe=/\).*[0#]/,ce=/\(###\) ###\\?-####/;function le(e){for(var t,r="",a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t)}return r}function fe(e,t){var r=Math.pow(10,t);return""+Math.round(e*r)/r}function he(e,t){var r=e-Math.floor(e),a=Math.pow(10,t);return t<(""+Math.round(r*a)).length?0:Math.round(r*a)}function ue(e,t,r){if(40===e.charCodeAt(0)&&!t.match(oe)){var a=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return r>=0?ue("n",a,r):"("+ue("n",a,-r)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,r){for(var a=t.length-1;44===t.charCodeAt(a-1);)--a;return me(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}(e,t,r);if(-1!==t.indexOf("%"))return function(e,t,r){var a=t.replace(ae,""),n=t.length-a.length;return me(e,a,r*Math.pow(10,2*n))+Je("%",n)}(e,t,r);if(-1!==t.indexOf("E"))return ne(t,r);if(36===t.charCodeAt(0))return"$"+ue(e,t.substr(" "==t.charAt(1)?2:1),r);var n,s,i,o,c=Math.abs(r),l=r<0?"-":"";if(t.match(/^00+$/))return l+U(c,t.length);if(t.match(/^[#?]+$/))return"0"===(n=U(r,0))&&(n=""),n.length>t.length?n:le(t.substr(0,t.length-n.length))+n;if(s=t.match(se))return function(e,t,r){var a=parseInt(e[4],10),n=Math.round(t*a),s=Math.floor(n/a),i=n-s*a,o=a;return r+(0===s?"":""+s)+" "+(0===i?Je(" ",e[1].length+1+e[4].length):P(i,e[1].length)+e[2]+"/"+e[3]+F(o,e[4].length))}(s,c,l);if(t.match(/^#+0+$/))return l+U(c,t.length-t.indexOf("0"));if(s=t.match(ie))return n=fe(r,s[1].length).replace(/^([^\.]+)$/,"$1."+le(s[1])).replace(/\.$/,"."+le(s[1])).replace(/\.(\d*)$/,function(e,t){return"."+t+Je("0",le(s[1]).length-t.length)}),-1!==t.indexOf("0.")?n:n.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return l+fe(c,s[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return l+re(U(c,0));if(s=t.match(/^#,##0\.([#0]*0)$/))return r<0?"-"+ue(e,t,-r):re(""+(Math.floor(r)+function(e,t){return t<(""+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}(r,s[1].length)))+"."+F(he(r,s[1].length),s[1].length);if(s=t.match(/^#,#*,#0/))return ue(e,t.replace(/^#,#*,/,""),r);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return n=D(ue(e,t.replace(/[\\-]/g,""),r)),i=0,D(D(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-2147483648?""+(e>=0?0|e:e-1|0):""+Math.floor(e)}(r)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(e){return"00,"+(e.length<3?F(0,3-e.length):"")+e})+"."+F(i,s[1].length);switch(t){case"###,##0.00":return ue(e,"#,##0.00",r);case"###,###":case"##,###":case"#,###":var d=re(U(c,0));return"0"!==d?l+d:"";case"###,###.00":return ue(e,"###,##0.00",r).replace(/^0\./,".");case"#,###.00":return ue(e,"#,##0.00",r).replace(/^0\./,".")}throw new Error("unsupported format |"+t+"|")}function de(e,t){var r,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+de(e,-t);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%n;if(s<0&&(s+=n),!(r=(t/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).match(/[Ee]/)){var i=Math.floor(Math.log(t)*Math.LOG10E);-1===r.indexOf(".")?r=r.charAt(0)+"."+r.substr(1)+"E+"+(i-r.length+s):r+="E+"+(i-s),r=r.replace(/\+-/,"-")}r=r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,r,a){return t+r+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else r=t.toExponential(a);return e.match(/E\+00$/)&&r.match(/e[+-]\d$/)&&(r=r.substr(0,r.length-1)+"0"+r.charAt(r.length-1)),e.match(/E\-/)&&r.match(/e\+/)&&(r=r.replace(/e\+/,"e")),r.replace("e","E")}function pe(e,t,r){if(40===e.charCodeAt(0)&&!t.match(oe)){var a=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return r>=0?pe("n",a,r):"("+pe("n",a,-r)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,r){for(var a=t.length-1;44===t.charCodeAt(a-1);)--a;return me(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}(e,t,r);if(-1!==t.indexOf("%"))return function(e,t,r){var a=t.replace(ae,""),n=t.length-a.length;return me(e,a,r*Math.pow(10,2*n))+Je("%",n)}(e,t,r);if(-1!==t.indexOf("E"))return de(t,r);if(36===t.charCodeAt(0))return"$"+pe(e,t.substr(" "==t.charAt(1)?2:1),r);var n,s,i,o,c=Math.abs(r),l=r<0?"-":"";if(t.match(/^00+$/))return l+F(c,t.length);if(t.match(/^[#?]+$/))return n=""+r,0===r&&(n=""),n.length>t.length?n:le(t.substr(0,t.length-n.length))+n;if(s=t.match(se))return function(e,t,r){return r+(0===t?"":""+t)+Je(" ",e[1].length+2+e[4].length)}(s,c,l);if(t.match(/^#+0+$/))return l+F(c,t.length-t.indexOf("0"));if(s=t.match(ie))return n=(n=(""+r).replace(/^([^\.]+)$/,"$1."+le(s[1])).replace(/\.$/,"."+le(s[1]))).replace(/\.(\d*)$/,function(e,t){return"."+t+Je("0",le(s[1]).length-t.length)}),-1!==t.indexOf("0.")?n:n.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return l+(""+c).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return l+re(""+c);if(s=t.match(/^#,##0\.([#0]*0)$/))return r<0?"-"+pe(e,t,-r):re(""+r)+"."+Je("0",s[1].length);if(s=t.match(/^#,#*,#0/))return pe(e,t.replace(/^#,#*,/,""),r);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return n=D(pe(e,t.replace(/[\\-]/g,""),r)),i=0,D(D(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-1||"\\"==r&&"-"==e.charAt(t+1)&&"0#".indexOf(e.charAt(t+2))>-1););break;case"?":for(;e.charAt(++t)===r;);break;case"*":++t," "!=e.charAt(t)&&"*"!=e.charAt(t)||++t;break;case"(":case")":++t;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;t-1;);break;default:++t}return!1}var be=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function we(e,t){if(null==t)return!1;var r=parseFloat(t[2]);switch(t[1]){case"=":if(e==r)return!0;break;case">":if(e>r)return!0;break;case"<":if(e":if(e!=r)return!0;break;case">=":if(e>=r)return!0;break;case"<=":if(e<=r)return!0}return!1}function Te(e,t,r){null==r&&(r={});var a="";switch(typeof e){case"string":a="m/d/yy"==e&&r.dateNF?r.dateNF:e;break;case"number":null==(a=14==e&&r.dateNF?r.dateNF:(null!=r.table?r.table:z)[e])&&(a=r.table&&r.table[V[e]]||z[V[e]]),null==a&&(a=G[e]||"General")}if(B(a,0))return ee(t,r);t instanceof Date&&(t=q(t,r.date1904));var n=function(e,t){var r=function(e){for(var t=[],r=!1,a=0,n=0;a-1&&--a,r.length>4)throw new Error("cannot find right format for |"+r.join("|")+"|");if("number"!=typeof t)return[4,4===r.length||n>-1?r[r.length-1]:"@"];switch(r.length){case 1:r=n>-1?["General","General","General",r[0]]:[r[0],r[0],r[0],"@"];break;case 2:r=n>-1?[r[0],r[0],r[0],r[1]]:[r[0],r[1],r[0],"@"];break;case 3:r=n>-1?[r[0],r[1],r[0],r[2]]:[r[0],r[1],r[2],"@"]}var s=t>0?r[0]:t<0?r[1]:r[2];if(-1===r[0].indexOf("[")&&-1===r[1].indexOf("["))return[a,s];if(null!=r[0].match(/\[[=<>]/)||null!=r[1].match(/\[[=<>]/)){var i=r[0].match(be),o=r[1].match(be);return we(t,i)?[a,r[0]]:we(t,o)?[a,r[1]]:[a,r[null!=i&&null!=o?2:1]]}return[a,s]}(a,t);if(B(n[1]))return ee(t,r);if(!0===t)t="TRUE";else if(!1===t)t="FALSE";else if(""===t||null==t)return"";return function(e,t,r,a){for(var n,s,i,o=[],c="",l=0,f="",h="t",u="H";l=12?"P":"A"),m.t="T",u="h",l+=3):"AM/PM"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"PM":"AM"),m.t="T",l+=5,u="h"):"上午/下午"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"下午":"上午"),m.t="T",l+=5,u="h"):(m.t="t",++l),null==n&&"T"===m.t)return"";o[o.length]=m,h=f;break;case"[":for(c=f;"]"!==e.charAt(l++)&&l-1&&(c=(c.match(/\$([^-\[\]]*)/)||[])[1]||"$",ve(e)||(o[o.length]={t:"t",v:c}));break;case".":if(null!=n){for(c=f;++l-1;)c+=f;o[o.length]={t:"n",v:c};break;case"?":for(c=f;e.charAt(++l)===f;)c+=f;o[o.length]={t:f,v:c},h=f;break;case"*":++l," "!=e.charAt(l)&&"*"!=e.charAt(l)||++l;break;case"(":case")":o[o.length]={t:1===a?"t":f,v:f},++l;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(c=f;l-1;)c+=e.charAt(l);o[o.length]={t:"D",v:c};break;case" ":o[o.length]={t:f,v:f},++l;break;case"$":o[o.length]={t:"t",v:"$"},++l;break;default:if(-1===",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f))throw new Error("unrecognized character "+f+" in "+e);o[o.length]={t:"t",v:f},++l}var g,v=0,b=0;for(l=o.length-1,h="t";l>=0;--l)switch(o[l].t){case"h":case"H":o[l].t=u,h="h",v<1&&(v=1);break;case"s":(g=o[l].v.match(/\.0+$/))&&(b=Math.max(b,g[0].length-1)),v<3&&(v=3);case"d":case"y":case"M":case"e":h=o[l].t;break;case"m":"s"===h&&(o[l].t="M",v<2&&(v=2));break;case"X":break;case"Z":v<1&&o[l].v.match(/[Hh]/)&&(v=1),v<2&&o[l].v.match(/[Mm]/)&&(v=2),v<3&&o[l].v.match(/[Ss]/)&&(v=3)}switch(v){case 0:break;case 1:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M),n.M>=60&&(n.M=0,++n.H);break;case 2:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M)}var w,T="";for(l=0;l0){40==T.charCodeAt(0)?(E=t<0&&45===T.charCodeAt(0)?-t:t,S=me("n",T,E)):(S=me("n",T,E=t<0&&a>1?-t:t),E<0&&o[0]&&"t"==o[0].t&&(S=S.substr(1),o[0].v="-"+o[0].v)),w=S.length-1;var k=o.length;for(l=0;l-1){k=l;break}var _=o.length;if(k===o.length&&-1===S.indexOf("E")){for(l=o.length-1;l>=0;--l)null!=o[l]&&-1!=="n?".indexOf(o[l].t)&&(w>=o[l].v.length-1?(w-=o[l].v.length,o[l].v=S.substr(w+1,o[l].v.length)):w<0?o[l].v="":(o[l].v=S.substr(0,w+1),w=-1),o[l].t="t",_=l);w>=0&&_=0;--l)if(null!=o[l]&&-1!=="n?".indexOf(o[l].t)){for(s=o[l].v.indexOf(".")>-1&&l===k?o[l].v.indexOf(".")-1:o[l].v.length-1,y=o[l].v.substr(s+1);s>=0;--s)w>=0&&("0"===o[l].v.charAt(s)||"#"===o[l].v.charAt(s))&&(y=S.charAt(w--)+y);o[l].v=y,o[l].t="t",_=l}for(w>=0&&_-1&&l===k?o[l].v.indexOf(".")+1:0,y=o[l].v.substr(0,s);s-1&&(E=a>1&&t<0&&l>0&&"-"===o[l-1].v?-t:t,o[l].v=me(o[l].t,o[l].v,E),o[l].t="t");var A="";for(l=0;l!==o.length;++l)null!=o[l]&&(A+=o[l].v);return A}(n[1],t,r,n[0])}function Ee(e,t){if("number"!=typeof t){t=+t||-1;for(var r=0;r<392;++r)if(null!=z[r]){if(z[r]==e){t=r;break}}else t<0&&(t=r);t<0&&(t=391)}return z[t]=e,t}function Se(e){for(var t=0;392!=t;++t)void 0!==e[t]&&Ee(e[t],t)}function ye(){var e;e||(e={}),e[0]="General",e[1]="0",e[2]="0.00",e[3]="#,##0",e[4]="#,##0.00",e[9]="0%",e[10]="0.00%",e[11]="0.00E+00",e[12]="# ?/?",e[13]="# ??/??",e[14]="m/d/yy",e[15]="d-mmm-yy",e[16]="d-mmm",e[17]="mmm-yy",e[18]="h:mm AM/PM",e[19]="h:mm:ss AM/PM",e[20]="h:mm",e[21]="h:mm:ss",e[22]="m/d/yy h:mm",e[37]="#,##0 ;(#,##0)",e[38]="#,##0 ;[Red](#,##0)",e[39]="#,##0.00;(#,##0.00)",e[40]="#,##0.00;[Red](#,##0.00)",e[45]="mm:ss",e[46]="[h]:mm:ss",e[47]="mmss.0",e[48]="##0.0E+0",e[49]="@",e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "',z=e}var ke={format:Te,load:Ee,_table:z,load_table:Se,parse_date_code:X,is_date:ve,get_table:function(){return ke._table=z}},_e={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"},Ae=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g,xe=function(){var e={version:"1.2.0"},t=function(){for(var e=0,t=new Array(256),r=0;256!=r;++r)e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=r)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1,t[r]=e;return"undefined"!=typeof Int32Array?new Int32Array(t):t}(),r=function(e){var t=0,r=0,a=0,n="undefined"!=typeof Int32Array?new Int32Array(4096):new Array(4096);for(a=0;256!=a;++a)n[a]=e[a];for(a=0;256!=a;++a)for(r=e[a],t=256+a;t<4096;t+=256)r=n[t]=r>>>8^e[255&r];var s=[];for(a=1;16!=a;++a)s[a-1]="undefined"!=typeof Int32Array?n.subarray(256*a,256*a+256):n.slice(256*a,256*a+256);return s}(t),a=r[0],n=r[1],s=r[2],i=r[3],o=r[4],c=r[5],l=r[6],f=r[7],h=r[8],u=r[9],d=r[10],p=r[11],m=r[12],g=r[13],v=r[14];return e.table=t,e.bstr=function(e,r){for(var a=-1^r,n=0,s=e.length;n>>8^t[255&(a^e.charCodeAt(n++))];return~a},e.buf=function(e,r){for(var b=-1^r,w=e.length-15,T=0;T>8&255]^m[e[T++]^b>>16&255]^p[e[T++]^b>>>24]^d[e[T++]]^u[e[T++]]^h[e[T++]]^f[e[T++]]^l[e[T++]]^c[e[T++]]^o[e[T++]]^i[e[T++]]^s[e[T++]]^n[e[T++]]^a[e[T++]]^t[e[T++]];for(w+=15;T>>8^t[255&(b^e[T++])];return~b},e.str=function(e,r){for(var a=-1^r,n=0,s=e.length,i=0,o=0;n>>8^t[255&(a^i)]:i<2048?a=(a=a>>>8^t[255&(a^(192|i>>6&31))])>>>8^t[255&(a^(128|63&i))]:i>=55296&&i<57344?(i=64+(1023&i),o=1023&e.charCodeAt(n++),a=(a=(a=(a=a>>>8^t[255&(a^(240|i>>8&7))])>>>8^t[255&(a^(128|i>>2&63))])>>>8^t[255&(a^(128|o>>6&15|(3&i)<<4))])>>>8^t[255&(a^(128|63&o))]):a=(a=(a=a>>>8^t[255&(a^(224|i>>12&15))])>>>8^t[255&(a^(128|i>>6&63))])>>>8^t[255&(a^(128|63&i))];return~a},e}(),Ce=function(){var e,t={};function r(e){if("/"==e.charAt(e.length-1))return-1===e.slice(0,-1).indexOf("/")?e:r(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(0,t+1)}function a(e){if("/"==e.charAt(e.length-1))return a(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)}function n(e,t){"string"==typeof t&&(t=new Date(t));var r=t.getHours();r=(r=r<<6|t.getMinutes())<<5|t.getSeconds()>>>1,e.write_shift(2,r);var a=t.getFullYear()-1980;a=(a=a<<4|t.getMonth()+1)<<5|t.getDate(),e.write_shift(2,a)}function s(e){Fr(e,0);for(var t={},r=0;e.l<=e.length-4;){var a=e.read_shift(2),n=e.read_shift(2),s=e.l+n,i={};21589===a&&(1&(r=e.read_shift(1))&&(i.mtime=e.read_shift(4)),n>5&&(2&r&&(i.atime=e.read_shift(4)),4&r&&(i.ctime=e.read_shift(4))),i.mtime&&(i.mt=new Date(1e3*i.mtime))),e.l=s,t[a]=i}return t}function i(){return e||(e={})}function o(e,t){if(80==e[0]&&75==e[1])return de(e,t);if(109==(32|e[0])&&105==(32|e[1]))return function(e,t){if("mime-version:"!=O(e.slice(0,13)).toLowerCase())throw new Error("Unsupported MAD header");var r=t&&t.root||"",a=(S&&Buffer.isBuffer(e)?e.toString("binary"):O(e)).split("\r\n"),n=0,s="";for(n=0;n0&&(r=(r=r.slice(0,r.length-1)).slice(0,r.lastIndexOf("/")+1),s.slice(0,r.length)!=r););var i=(a[1]||"").match(/boundary="(.*?)"/);if(!i)throw new Error("MAD cannot find boundary");var o="--"+(i[1]||""),c={FileIndex:[],FullPaths:[]};u(c);var l,f=0;for(n=0;n=n&&(u-=n),!i[u]){c=[];var p=[];for(h=u;h>=0;){p[h]=!0,i[h]=!0,o[o.length]=h,c.push(e[h]);var m=r[Math.floor(4*h/a)];if(a<4+(d=4*h&l))throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[m])break;if(p[h=Ar(e[m],d)])break}s[u]={nodes:o,data:tr([c])}}return s}(k,s,p,d);_[s].name="!Directory",a>0&&i!==v&&(_[i].name="!MiniFAT"),_[p[0]].name="!FAT",_.fat_addrs=p,_.ssz=d;var A=[],x=[],C=[];!function(e,t,r,a,n,s,i,o){for(var l,u=0,d=a.length?2:0,p=t[e].data,m=0,g=0;m0&&u!==v&&(t[u].name="!StreamData")):w.size>=4096?(w.storage="fat",void 0===t[w.start]&&(t[w.start]=f(r,w.start,t.fat_addrs,t.ssz)),t[w.start].name=w.name,w.content=t[w.start].data.slice(0,w.size)):(w.storage="minifat",w.size<0?w.size=0:u!==v&&w.start!==v&&t[u]&&(w.content=c(w,t[u].data,(t[o]||{}).data))),w.content&&Fr(w.content,0),s[l]=w,i.push(w)}}(s,_,k,A,a,{},x,i),function(e,t,r){for(var a=0,n=0,s=0,i=0,o=0,c=r.length,l=[],f=[];a0&&i>=0;)s.push(t.slice(i*g,i*g+g)),n-=g,i=Ar(r,4*i);return 0===s.length?Lr(0):R(s).slice(0,e.size)}function l(e,t,r,a,n){var s=v;if(e===v){if(0!==t)throw new Error("DIFAT chain shorter than expected")}else if(-1!==e){var i=r[e],o=(a>>>2)-1;if(!i)return;for(var c=0;c=0;){n[c]=!0,s[s.length]=c,i.push(e[c]);var f=r[Math.floor(4*c/a)];if(a<4+(l=4*c&o))throw new Error("FAT boundary crossed: "+c+" 4 "+a);if(!e[f])break;c=Ar(e[f],l)}return{nodes:s,data:tr([i])}}function h(e,t){return new Date(1e3*(_r(e,t+4)/1e7*Math.pow(2,32)+_r(e,t)/1e7-11644473600))}function u(e,t){var r=t||{},a=r.root||"Root Entry";if(e.FullPaths||(e.FullPaths=[]),e.FileIndex||(e.FileIndex=[]),e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");0===e.FullPaths.length&&(e.FullPaths[0]=a+"/",e.FileIndex[0]={name:a,type:5}),r.CLSID&&(e.FileIndex[0].clsid=r.CLSID),function(e){var t="Sh33tJ5";if(!Ce.find(e,"/"+t)){var r=Lr(4);r[0]=55,r[1]=r[3]=50,r[2]=54,e.FileIndex.push({name:t,type:2,content:r,size:4,L:69,R:69,C:69}),e.FullPaths.push(e.FullPaths[0]+t),d(e)}}(e)}function d(e,t){u(e);for(var n=!1,s=!1,i=e.FullPaths.length-1;i>=0;--i){var o=e.FileIndex[i];switch(o.type){case 0:s?n=!0:(e.FileIndex.pop(),e.FullPaths.pop());break;case 1:case 2:case 5:s=!0,isNaN(o.R*o.L*o.C)&&(n=!0),o.R>-1&&o.L>-1&&o.R==o.L&&(n=!0);break;default:n=!0}}if(n||t){var c=new Date(1987,1,19),l=0,f=Object.create?Object.create(null):{},h=[];for(i=0;i1?1:-1,p.size=0,p.type=5;else if("/"==m.slice(-1)){for(l=i+1;l=h.length?-1:l,l=i+1;l=h.length?-1:l,p.type=1}else r(e.FullPaths[i+1]||"")==r(m)&&(p.R=i+1),p.type=2}}}function p(e,t){var r=t||{};if("mad"==r.fileType)return function(e,t){for(var r=t||{},a=r.boundary||"SheetJS",n=["MIME-Version: 1.0",'Content-Type: multipart/related; boundary="'+(a="------="+a).slice(2)+'"',"","",""],s=e.FullPaths[0],i=s,o=e.FileIndex[0],c=1;c=32&&d<128&&++h;var m=h>=4*u/5;n.push(a),n.push("Content-Location: "+(r.root||"file:///C:/SheetJS/")+i),n.push("Content-Transfer-Encoding: "+(m?"quoted-printable":"base64")),n.push("Content-Type: "+ge(o,i)),n.push(""),n.push(m?be(f):ve(f))}return n.push(a+"--\r\n"),n.join("\r\n")}(e,r);if(d(e),"zip"===r.fileType)return function(e,t){var r=t||{},a=[],s=[],i=Lr(1),o=r.compression?8:0,c=0,l=0,f=0,h=0,u=e.FullPaths[0],d=u,p=e.FileIndex[0],m=[],g=0;for(c=1;c0&&(s<4096?t+=s+63>>6:r+=s+511>>9)}}for(var i=e.FullPaths.length+3>>2,o=t+127>>7,c=(t+7>>3)+r+i+o,l=c+127>>7,f=l<=109?0:Math.ceil((l-109)/127);c+l+f+127>>7>l;)f=++l<=109?0:Math.ceil((l-109)/127);var h=[1,f,l,o,i,r,t,0];return e.FileIndex[0].size=t<<6,h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3),h}(e),s=Lr(a[7]<<9),i=0,o=0;for(i=0;i<8;++i)s.write_shift(1,w[i]);for(i=0;i<8;++i)s.write_shift(2,0);for(s.write_shift(2,62),s.write_shift(2,3),s.write_shift(2,65534),s.write_shift(2,9),s.write_shift(2,6),i=0;i<3;++i)s.write_shift(2,0);for(s.write_shift(4,0),s.write_shift(4,a[2]),s.write_shift(4,a[0]+a[1]+a[2]+a[3]-1),s.write_shift(4,0),s.write_shift(4,4096),s.write_shift(4,a[3]?a[0]+a[1]+a[2]-1:v),s.write_shift(4,a[3]),s.write_shift(-4,a[1]?a[0]-1:v),s.write_shift(4,a[1]),i=0;i<109;++i)s.write_shift(-4,i>9)));for(c(a[6]+7>>3);511&s.l;)s.write_shift(-4,C.ENDOFCHAIN);for(o=i=0,l=0;l=4096||(h.start=o,c(f+63>>6)));for(;511&s.l;)s.write_shift(-4,C.ENDOFCHAIN);for(i=0;i=4096)if(s.l=h.start+1<<9,S&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+511&-512;else{for(l=0;l0&&h.size<4096)if(S&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+63&-64;else{for(l=0;l>16|t>>8|t)}for(var U="undefined"!=typeof Uint8Array,B=U?new Uint8Array(256):[],W=0;W<256;++W)B[W]=M(W);function H(e,t){var r=B[255&e];return t<=8?r>>>8-t:(r=r<<8|B[e>>8&255],t<=16?r>>>16-t:(r=r<<8|B[e>>16&255])>>>24-t)}function z(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=6?0:e[a+1]<<8))>>>r&3}function V(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=5?0:e[a+1]<<8))>>>r&7}function G(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=3?0:e[a+1]<<8))>>>r&31}function j(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=1?0:e[a+1]<<8))>>>r&127}function X(e,t,r){var a=7&t,n=t>>>3,s=(1<>>a;return r<8-a?i&s:(i|=e[n+1]<<8-a,r<16-a?i&s:(i|=e[n+2]<<16-a,r<24-a?i&s:(i|=e[n+3]<<24-a)&s))}function $(e,t,r){var a=7&t,n=t>>>3;return a<=5?e[n]|=(7&r)<>8-a),t+3}function Y(e,t,r){return r=(1&r)<<(7&t),e[t>>>3]|=r,t+1}function K(e,t,r){var a=t>>>3;return r<<=7&t,e[a]|=255&r,r>>>=8,e[a+1]=r,t+8}function J(e,t,r){var a=t>>>3;return r<<=7&t,e[a]|=255&r,r>>>=8,e[a+1]=255&r,e[a+2]=r>>>8,t+16}function q(e,t){var r=e.length,a=2*r>t?2*r:t+5,n=0;if(r>=t)return e;if(S){var s=_(a);if(e.copy)e.copy(s);else for(;n>a-h,i=(1<=0;--i)t[o|i<0;)t[t.l++]=e[r++]}return t.l}(t,r):function(t,r){for(var n=0,s=0,i=U?new Uint16Array(32768):[];s0;)r[r.l++]=t[s++];n=8*r.l}else{n=$(r,n,+!(s+o!=t.length)+2);for(var c=0;o-- >0;){var l=t[s],f=-1,h=0;if((f=i[c=32767&(c<<5^l)])&&((f|=-32768&s)>s&&(f-=32768),f2){(l=a[h])<=22?n=K(r,n,B[l+1]>>1)-1:(K(r,n,3),K(r,n+=5,B[l-23]>>5),n+=3);var u=l<8?0:l-4>>2;u>0&&(J(r,n,h-P[l]),n+=u),l=e[s-f],n=K(r,n,B[l]>>3),n-=3;var d=l<4?0:l-2>>1;d>0&&(J(r,n,s-f-L[l]),n+=d);for(var p=0;p>>3;return(e[a]|(r<=4?0:e[a+1]<<8))>>>r&15}(e,t+=5)+4;t+=4;for(var s=0,i=U?new Uint8Array(19):Z(19),o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=1,l=U?new Uint8Array(8):Z(8),f=U?new Uint8Array(8):Z(8),h=i.length,u=0;u>8-p;for(var m=(1<<7-p)-1;m>=0;--m)oe[d|m<>>=3){case 16:for(s=3+z(e,t),t+=2,d=g[g.length-1];s-- >0;)g.push(d);break;case 17:for(s=3+V(e,t),t+=3;s-- >0;)g.push(0);break;case 18:for(s=11+j(e,t),t+=7;s-- >0;)g.push(0);break;default:g.push(d),c>>0,o=0,c=0;!(1&a);)if(a=V(e,r),r+=3,a>>>1!=0)for(a>>1==1?(o=9,c=5):(r=fe(e,r),o=ce,c=le);;){!t&&i>>1==1?ee[l]:se[l];if(r+=15&f,(f>>>=4)>>>8&255){if(256==f)break;var h=(f-=257)<8?0:f-4>>2;h>5&&(h=0);var u=s+P[f];h>0&&(u+=X(e,r,h),r+=h),l=X(e,r,c),r+=15&(f=a>>>1==1?te[l]:ie[l]);var d=(f>>>=4)<4?0:f-2>>1,p=L[f];for(d>0&&(p+=X(e,r,d),r+=d),!t&&i>>3]|e[(r>>>3)+1]<<8;if(r+=32,m>0)for(!t&&i0;)n[s++]=e[r>>>3],r+=8}return t?[n,r+7>>>3]:[n.slice(0,s),r+7>>>3]}(e.slice(e.l||0),t);return e.l+=r[1],r[0]}function ue(e,t){if(!e)throw new Error(t);"undefined"!=typeof console&&console.error(t)}function de(e,t){var r=e;Fr(r,0);var a={FileIndex:[],FullPaths:[]};u(a,{root:t.root});for(var n=r.length-4;(80!=r[n]||75!=r[n+1]||5!=r[n+2]||6!=r[n+3])&&n>=0;)--n;r.l=n+4,r.l+=4;var i=r.read_shift(2);r.l+=6;var o=r.read_shift(4);for(r.l=o,n=0;n>>=5);r>>>=4,a.setMilliseconds(0),a.setFullYear(r+1980),a.setMonth(s-1),a.setDate(n);var i=31&t,o=63&(t>>>=5);return t>>>=6,a.setHours(t),a.setMinutes(o),a.setSeconds(i<<1),a}(e);if(8257&i)throw new Error("Unsupported ZIP encryption");e.read_shift(4);for(var l=e.read_shift(4),f=e.read_shift(4),h=e.read_shift(2),u=e.read_shift(2),d="",p=0;p3&&(a=!0),n[s].slice(n[s].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[s].slice(n[s].length-1));case"D":r*=24;case"H":r*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");r*=60}t+=r*parseInt(n[s],10)}return t}var Ge=new Date("2017-02-19T19:06:09.000Z"),je=isNaN(Ge.getFullYear())?new Date("2/19/17"):Ge,Xe=2017==je.getFullYear();function $e(e,t){var r=new Date(e);if(Xe)return t>0?r.setTime(r.getTime()+60*r.getTimezoneOffset()*1e3):t<0&&r.setTime(r.getTime()-60*r.getTimezoneOffset()*1e3),r;if(e instanceof Date)return e;if(1917==je.getFullYear()&&!isNaN(r.getFullYear())){var a=r.getFullYear();return e.indexOf(""+a)>-1||r.setFullYear(r.getFullYear()+100),r}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"],s=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);return e.indexOf("Z")>-1&&(s=new Date(s.getTime()-60*s.getTimezoneOffset()*1e3)),s}function Ye(e,t){if(S&&Buffer.isBuffer(e)){if(t){if(255==e[0]&&254==e[1])return Mt(e.slice(2).toString("utf16le"));if(254==e[1]&&255==e[2])return Mt(u(e.slice(2).toString("binary")))}return e.toString("binary")}if("undefined"!=typeof TextDecoder)try{if(t){if(255==e[0]&&254==e[1])return Mt(new TextDecoder("utf-16le").decode(e.slice(2)));if(254==e[0]&&255==e[1])return Mt(new TextDecoder("utf-16be").decode(e.slice(2)))}var r={"€":"€","‚":"‚",ƒ:"ƒ","„":"„","…":"…","†":"†","‡":"‡",ˆ:"ˆ","‰":"‰",Š:"Š","‹":"‹",Œ:"Œ",Ž:"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™",š:"š","›":"›",œ:"œ",ž:"ž",Ÿ:"Ÿ"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return r[e]||e})}catch(e){}for(var a=[],n=0;n!=e.length;++n)a.push(String.fromCharCode(e[n]));return a.join("")}function Ke(e){if("undefined"!=typeof JSON&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if("object"!=typeof e||null==e)return e;if(e instanceof Date)return new Date(e.getTime());var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=Ke(e[r]));return t}function Je(e,t){for(var r="";r.length3&&-1==Ze.indexOf(i))return r}else if(i.match(/[a-z]/))return r;return a<0||a>8099?r:(n>0||s>1)&&101!=a?t:e.match(/[^-0-9:,\/\\]/)?r:t}var et=function(){var e=5=="abacaba".split(/(:?b)/i).length;return function(t,r,a){if(e||"string"==typeof r)return t.split(r);for(var n=t.split(r),s=[n[0]],i=1;i>6&31,n[r++]=128|63&i;else if(i>=55296&&i<57344){i=64+(1023&i);var o=1023&e.charCodeAt(++s);n[r++]=240|i>>8&7,n[r++]=128|i>>2&63,n[r++]=128|o>>6&15|(3&i)<<4,n[r++]=128|63&o}else n[r++]=224|i>>12&15,n[r++]=128|i>>6&63,n[r++]=128|63&i;r>a&&(t.push(n.slice(0,r)),r=0,n=k(65535),a=65530)}return t.push(n.slice(0,r)),R(t)}(r),Ce.utils.cfb_add(e,t,a);Ce.utils.cfb_add(e,t,r)}else e.file(t,r)}function ft(){return Ce.utils.cfb_new()}function ht(e,t){switch(t.type){case"base64":return Ce.read(e,{type:"base64"});case"binary":return Ce.read(e,{type:"binary"});case"buffer":case"array":return Ce.read(e,{type:"buffer"})}throw new Error("Unrecognized type "+t.type)}function ut(e,t){if("/"==e.charAt(0))return e.slice(1);var r=t.split("/");"/"!=t.slice(-1)&&r.pop();for(var a=e.split("/");0!==a.length;){var n=a.shift();".."===n?r.pop():"."!==n&&r.push(n)}return r.join("/")}var dt='\r\n',pt=/([^"\s?>\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g,mt=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,gt=dt.match(mt)?mt:/<[^>]*>/g,vt=/<\w*:/,bt=/<(\/?)\w+:/;function wt(e,t,r){for(var a={},n=0,s=0;n!==e.length&&32!==(s=e.charCodeAt(n))&&10!==s&&13!==s;++n);if(t||(a[0]=e.slice(0,n)),n===e.length)return a;var i=e.match(pt),o=0,c="",l=0,f="",h="",u=1;if(i)for(l=0;l!=i.length;++l){for(h=i[l],s=0;s!=h.length&&61!==h.charCodeAt(s);++s);for(f=h.slice(0,s).trim();32==h.charCodeAt(s+1);)++s;for(u=34==(n=h.charCodeAt(s+1))||39==n?1:0,c=h.slice(s+1+u,h.length-u),o=0;o!=f.length&&58!==f.charCodeAt(o);++o);if(o===f.length)f.indexOf("_")>0&&(f=f.slice(0,f.indexOf("_"))),a[f]=c,r||(a[f.toLowerCase()]=c);else{var d=(5===o&&"xmlns"===f.slice(0,5)?"xmlns":"")+f.slice(o+1);if(a[d]&&"ext"==f.slice(o-3,o))continue;a[d]=c,r||(a[d.toLowerCase()]=c)}}return a}function Tt(e){return e.replace(bt,"<$1")}var Et={""":'"',"'":"'",">":">","<":"<","&":"&"},St=Pe(Et),yt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,t=/_x([\da-fA-F]{4})_/gi;return function r(a){var n=a+"",s=n.indexOf("-1?16:10))||e}).replace(t,function(e,t){return String.fromCharCode(parseInt(t,16))});var i=n.indexOf("]]>");return r(n.slice(0,s))+n.slice(s+9,i)+r(n.slice(i+3))}}(),kt=/[&<>'"]/g,_t=/[\u0000-\u0008\u000b-\u001f]/g;function At(e){return(e+"").replace(kt,function(e){return St[e]}).replace(_t,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function xt(e){return At(e).replace(/ /g,"_x0020_")}var Ct=/[\u0000-\u001f]/g;function Ot(e){return(e+"").replace(kt,function(e){return St[e]}).replace(/\n/g,"
").replace(Ct,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}var Rt=function(){var e=/&#(\d+);/g;function t(e,t){return String.fromCharCode(parseInt(t,10))}return function(r){return r.replace(e,t)}}();function It(e){switch(e){case 1:case!0:case"1":case"true":case"TRUE":return!0;default:return!1}}function Nt(e){for(var t="",r=0,a=0,n=0,s=0,i=0,o=0;r191&&a<224?(i=(31&a)<<6,i|=63&n,t+=String.fromCharCode(i)):(s=e.charCodeAt(r++),a<240?t+=String.fromCharCode((15&a)<<12|(63&n)<<6|63&s):(o=((7&a)<<18|(63&n)<<12|(63&s)<<6|63&(i=e.charCodeAt(r++)))-65536,t+=String.fromCharCode(55296+(o>>>10&1023)),t+=String.fromCharCode(56320+(1023&o)))));return t}function Dt(e){var t,r,a,n=k(2*e.length),s=1,i=0,o=0;for(r=0;r>>10&1023),t=56320+(1023&t)),0!==o&&(n[i++]=255&o,n[i++]=o>>>8,o=0),n[i++]=t%256,n[i++]=t>>>8;return n.slice(0,i).toString("ucs2")}function Ft(e){return y(e,"binary").toString("utf8")}var Pt="foo bar baz☃🍣",Lt=S&&(Ft(Pt)==Nt(Pt)&&Ft||Dt(Pt)==Nt(Pt)&&Dt)||Nt,Mt=S?function(e){return y(e,"utf8").toString("binary")}:function(e){for(var t=[],r=0,a=0,n=0;r>6))),t.push(String.fromCharCode(128+(63&a)));break;case a>=55296&&a<57344:a-=55296,n=e.charCodeAt(r++)-56320+(a<<10),t.push(String.fromCharCode(240+(n>>18&7))),t.push(String.fromCharCode(144+(n>>12&63))),t.push(String.fromCharCode(128+(n>>6&63))),t.push(String.fromCharCode(128+(63&n)));break;default:t.push(String.fromCharCode(224+(a>>12))),t.push(String.fromCharCode(128+(a>>6&63))),t.push(String.fromCharCode(128+(63&a)))}return t.join("")},Ut=function(){var e={};return function(t,r){var a=t+"|"+(r||"");return e[a]?e[a]:e[a]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",r||"")}}(),Bt=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function(t){for(var r=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,""),a=0;a([\\s\\S]*?)","g")}}(),Ht=/<\/?(?:vt:)?variant>/g,zt=/<(?:vt:)([^>]*)>([\s\S]*)"+t+""}function Xt(e){return De(e).map(function(t){return" "+t+'="'+e[t]+'"'}).join("")}function $t(e,t,r){return"<"+e+(null!=r?Xt(r):"")+(null!=t?(t.match(Gt)?' xml:space="preserve"':"")+">"+t+""}function Yt(e,t){try{return e.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function Kt(e){if(S&&Buffer.isBuffer(e))return e.toString("utf8");if("string"==typeof e)return e;if("undefined"!=typeof Uint8Array&&e instanceof Uint8Array)return Lt(C(O(e)));throw new Error("Bad input format: expected Buffer or string")}var Jt=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm,qt={CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",CT:"http://schemas.openxmlformats.org/package/2006/content-types",RELS:"http://schemas.openxmlformats.org/package/2006/relationships",TCMNT:"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",mx:"http://schemas.microsoft.com/office/mac/excel/2008/main",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",sjs:"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema"},Zt=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"],Qt={o:"urn:schemas-microsoft-com:office:office",x:"urn:schemas-microsoft-com:office:excel",ss:"urn:schemas-microsoft-com:office:spreadsheet",dt:"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",mv:"http://macVmlSchemaUri",v:"urn:schemas-microsoft-com:vml",html:"http://www.w3.org/TR/REC-html40"},er=function(e){for(var t=[],r=0;r0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:y(e)})):er(e)}:er,rr=function(e,t,r){for(var a=[],n=t;n0?or(e,t+4,t+4+r-1):""},lr=cr,fr=function(e,t){var r=_r(e,t);return r>0?or(e,t+4,t+4+r-1):""},hr=fr,ur=function(e,t){var r=2*_r(e,t);return r>0?or(e,t+4,t+4+r-1):""},dr=ur,pr=function(e,t){var r=_r(e,t);return r>0?ar(e,t+4,t+4+r):""},mr=pr,gr=function(e,t){var r=_r(e,t);return r>0?or(e,t+4,t+4+r):""},vr=gr,br=function(e,t){return function(e,t){for(var r=1-2*(e[t+7]>>>7),a=((127&e[t+7])<<4)+(e[t+6]>>>4&15),n=15&e[t+6],s=5;s>=0;--s)n=256*n+e[t+s];return 2047==a?0==n?r*(1/0):NaN:(0==a?a=-1022:(a-=1023,n+=Math.pow(2,52)),r*Math.pow(2,a-52)*n)}(e,t)},wr=br,Tr=function(e){return Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array};function Er(){ar=function(e,t,r){return d.utils.decode(1200,e.slice(t,r)).replace(I,"")},or=function(e,t,r){return d.utils.decode(65001,e.slice(t,r))},lr=function(e,t){var r=_r(e,t);return r>0?d.utils.decode(s,e.slice(t+4,t+4+r-1)):""},hr=function(e,t){var r=_r(e,t);return r>0?d.utils.decode(n,e.slice(t+4,t+4+r-1)):""},dr=function(e,t){var r=2*_r(e,t);return r>0?d.utils.decode(1200,e.slice(t+4,t+4+r-1)):""},mr=function(e,t){var r=_r(e,t);return r>0?d.utils.decode(1200,e.slice(t+4,t+4+r)):""},vr=function(e,t){var r=_r(e,t);return r>0?d.utils.decode(65001,e.slice(t+4,t+4+r)):""}}S&&(lr=function(e,t){if(!Buffer.isBuffer(e))return cr(e,t);var r=e.readUInt32LE(t);return r>0?e.toString("utf8",t+4,t+4+r-1):""},hr=function(e,t){if(!Buffer.isBuffer(e))return fr(e,t);var r=e.readUInt32LE(t);return r>0?e.toString("utf8",t+4,t+4+r-1):""},dr=function(e,t){if(!Buffer.isBuffer(e))return ur(e,t);var r=2*e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+r-1)},mr=function(e,t){if(!Buffer.isBuffer(e))return pr(e,t);var r=e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+r)},vr=function(e,t){if(!Buffer.isBuffer(e))return gr(e,t);var r=e.readUInt32LE(t);return e.toString("utf8",t+4,t+4+r)},wr=function(e,t){return Buffer.isBuffer(e)?e.readDoubleLE(t):br(e,t)},Tr=function(e){return Buffer.isBuffer(e)||Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array}),void 0!==d&&Er();var Sr=function(e,t){return e[t]},yr=function(e,t){return 256*e[t+1]+e[t]},kr=function(e,t){var r=256*e[t+1]+e[t];return r<32768?r:-1*(65535-r+1)},_r=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},Ar=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},xr=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};function Cr(e,t){var r,a,s,i,o,c,l="",f=[];switch(t){case"dbcs":if(c=this.l,S&&Buffer.isBuffer(this))l=this.slice(this.l,this.l+2*e).toString("utf16le");else for(o=0;o0?Ar:xr)(this,this.l),this.l+=4,r);case 8:case-8:if("f"===t)return a=8==e?wr(this,this.l):wr([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,a;e=8;case 16:l=sr(this,this.l,e)}}return this.l+=e,l}var Or=function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24&255},Rr=function(e,t,r){e[r]=255&t,e[r+1]=t>>8&255,e[r+2]=t>>16&255,e[r+3]=t>>24&255},Ir=function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255};function Nr(e,t,r){var a=0,n=0;if("dbcs"===r){for(n=0;n!=t.length;++n)Ir(this,t.charCodeAt(n),this.l+2*n);a=2*t.length}else if("sbcs"===r){if(void 0!==d&&874==s)for(n=0;n!=t.length;++n){var i=d.utils.encode(s,t.charAt(n));this[this.l+n]=i[0]}else for(t=t.replace(/[^\x00-\x7F]/g,"_"),n=0;n!=t.length;++n)this[this.l+n]=255&t.charCodeAt(n);a=t.length}else{if("hex"===r){for(;n>8}for(;this.l>>=8,this[this.l+1]=255&t;break;case 3:a=3,this[this.l]=255&t,t>>>=8,this[this.l+1]=255&t,t>>>=8,this[this.l+2]=255&t;break;case 4:a=4,Or(this,t,this.l);break;case 8:if(a=8,"f"===r){!function(e,t,r){var a=(t<0||1/t==-1/0?1:0)<<7,n=0,s=0,i=a?-t:t;isFinite(i)?0==i?n=s=0:(n=Math.floor(Math.log(i)/Math.LN2),s=i*Math.pow(2,52-n),n<=-1023&&(!isFinite(s)||s>4|a}(this,t,this.l);break}case 16:break;case-4:a=4,Rr(this,t,this.l)}}return this.l+=a,this}function Dr(e,t){var r=sr(this,this.l,e.length>>1);if(r!==e)throw new Error(t+"Expected "+e+" saw "+r);this.l+=e.length>>1}function Fr(e,t){e.l=t,e.read_shift=Cr,e.chk=Dr,e.write_shift=Nr}function Pr(e,t){e.l+=t}function Lr(e){var t=k(e);return Fr(t,0),t}function Mr(e,t,r){if(e){var a,n,s;Fr(e,e.l||0);for(var i=e.length,o=0,c=0;e.la.l&&((a=a.slice(0,a.l)).l=a.length),a.length>0&&e.push(a),a=null)},s=function(e){return a&&e=128?1:0)+1,a>=128&&++n,a>=16384&&++n,a>=2097152&&++n;var i=e.next(n);s<=127?i.write_shift(1,s):(i.write_shift(1,128+(127&s)),i.write_shift(1,s>>7));for(var o=0;4!=o;++o){if(!(a>=128)){i.write_shift(1,a);break}i.write_shift(1,128+(127&a)),a>>=7}a>0&&Tr(r)&&e.push(r)}}function Wr(e,t,r){var a=Ke(e);if(t.s?(a.cRel&&(a.c+=t.s.c),a.rRel&&(a.r+=t.s.r)):(a.cRel&&(a.c+=t.c),a.rRel&&(a.r+=t.r)),!r||r.biff<12){for(;a.c>=256;)a.c-=256;for(;a.r>=65536;)a.r-=65536}return a}function Hr(e,t,r){var a=Ke(e);return a.s=Wr(a.s,t.s,r),a.e=Wr(a.e,t.s,r),a}function zr(e,t){if(e.cRel&&e.c<0)for(e=Ke(e);e.c<0;)e.c+=t>8?16384:256;if(e.rRel&&e.r<0)for(e=Ke(e);e.r<0;)e.r+=t>8?1048576:t>5?65536:16384;var r=Kr(e);return e.cRel||null==e.cRel||(r=r.replace(/^([A-Z])/,"$$$1")),e.rRel||null==e.rRel||(r=r.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")),r}function Vr(e,t){return 0!=e.s.r||e.s.rRel||e.e.r!=(t.biff>=12?1048575:t.biff>=8?65536:16384)||e.e.rRel?0!=e.s.c||e.s.cRel||e.e.c!=(t.biff>=12?16383:255)||e.e.cRel?zr(e.s,t.biff)+":"+zr(e.e,t.biff):(e.s.rRel?"":"$")+jr(e.s.r)+":"+(e.e.rRel?"":"$")+jr(e.e.r):(e.s.cRel?"":"$")+$r(e.s.c)+":"+(e.e.cRel?"":"$")+$r(e.e.c)}function Gr(e){return parseInt(e.replace(/\$(\d+)$/,"$1"),10)-1}function jr(e){return""+(e+1)}function Xr(e){for(var t=e.replace(/^\$([A-Z])/,"$1"),r=0,a=0;a!==t.length;++a)r=26*r+t.charCodeAt(a)-64;return r-1}function $r(e){if(e<0)throw new Error("invalid column "+e);var t="";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function Yr(e){for(var t=0,r=0,a=0;a=48&&n<=57?t=10*t+(n-48):n>=65&&n<=90&&(r=26*r+(n-64))}return{c:r-1,r:t-1}}function Kr(e){for(var t=e.c+1,r="";t;t=(t-1)/26|0)r=String.fromCharCode((t-1)%26+65)+r;return r+(e.r+1)}function Jr(e){var t=e.indexOf(":");return-1==t?{s:Yr(e),e:Yr(e)}:{s:Yr(e.slice(0,t)),e:Yr(e.slice(t+1))}}function qr(e,t){return void 0===t||"number"==typeof t?qr(e.s,e.e):("string"!=typeof e&&(e=Kr(e)),"string"!=typeof t&&(t=Kr(t)),e==t?e:e+":"+t)}function Zr(e){var t={s:{c:0,r:0},e:{c:0,r:0}},r=0,a=0,n=0,s=e.length;for(r=0;a26);++a)r=26*r+n;for(t.s.c=--r,r=0;a9);++a)r=10*r+n;if(t.s.r=--r,a===s||10!=n)return t.e.c=t.s.c,t.e.r=t.s.r,t;for(++a,r=0;a!=s&&!((n=e.charCodeAt(a)-64)<1||n>26);++a)r=26*r+n;for(t.e.c=--r,r=0;a!=s&&!((n=e.charCodeAt(a)-48)<0||n>9);++a)r=10*r+n;return t.e.r=--r,t}function Qr(e,t,r){return null==e||null==e.t||"z"==e.t?"":void 0!==e.w?e.w:("d"==e.t&&!e.z&&r&&r.dateNF&&(e.z=r.dateNF),"e"==e.t?Ha[e.v]||e.v:function(e,t){var r="d"==e.t&&t instanceof Date;if(null!=e.z)try{return e.w=Te(e.z,r?Ue(t):t)}catch(e){}try{return e.w=Te((e.XF||{}).numFmtId||(r?14:0),r?Ue(t):t)}catch(e){return""+t}}(e,null==t?e.v:t))}function ea(e,t){var r=t&&t.sheet?t.sheet:"Sheet1",a={};return a[r]=e,{SheetNames:[r],Sheets:a}}function ta(e,t,r){var a=r||{},n=e?Array.isArray(e):a.dense;null!=b&&null==n&&(n=b);var s=e||(n?[]:{}),i=0,o=0;if(s&&null!=a.origin){if("number"==typeof a.origin)i=a.origin;else{var c="string"==typeof a.origin?Yr(a.origin):a.origin;i=c.r,o=c.c}s["!ref"]||(s["!ref"]="A1:A1")}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(s["!ref"]){var f=Zr(s["!ref"]);l.s.c=f.s.c,l.s.r=f.s.r,l.e.c=Math.max(l.e.c,f.e.c),l.e.r=Math.max(l.e.r,f.e.r),-1==i&&(l.e.r=i=f.e.r+1)}for(var h=0;h!=t.length;++h)if(t[h]){if(!Array.isArray(t[h]))throw new Error("aoa_to_sheet expects an array of arrays");for(var u=0;u!=t[h].length;++u)if(void 0!==t[h][u]){var d={v:t[h][u]},p=i+h,m=o+u;if(l.s.r>p&&(l.s.r=p),l.s.c>m&&(l.s.c=m),l.e.r0&&t.write_shift(0,e,"dbcs"),r?t.slice(0,t.l):t}function ia(e){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function oa(e,t){var r=e.l,a=e.read_shift(1),n=na(e),s=[],i={t:n,h:n};if(1&a){for(var o=e.read_shift(4),c=0;c!=o;++c)s.push(ia(e));i.r=s}else i.r=[{ich:0,ifnt:0}];return e.l=r+t,i}var ca=oa;function la(e){var t=e.read_shift(4),r=e.read_shift(2);return r+=e.read_shift(1)<<16,e.l++,{c:t,iStyleRef:r}}function fa(e,t){return null==t&&(t=Lr(8)),t.write_shift(-4,e.c),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}function ha(e){var t=e.read_shift(2);return t+=e.read_shift(1)<<16,e.l++,{c:-1,iStyleRef:t}}function ua(e,t){return null==t&&(t=Lr(4)),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}var da=na,pa=sa;function ma(e){var t=e.read_shift(4);return 0===t||4294967295===t?"":e.read_shift(t,"dbcs")}function ga(e,t){var r=!1;return null==t&&(r=!0,t=Lr(127)),t.write_shift(4,e.length>0?e.length:4294967295),e.length>0&&t.write_shift(0,e,"dbcs"),r?t.slice(0,t.l):t}var va=na,ba=ma,wa=ga;function Ta(e){var t=e.slice(e.l,e.l+4),r=1&t[0],a=2&t[0];e.l+=4;var n=0===a?wr([0,0,0,0,252&t[0],t[1],t[2],t[3]],0):Ar(t,0)>>2;return r?n/100:n}function Ea(e,t){null==t&&(t=Lr(4));var r=0,a=0,n=100*e;if(e==(0|e)&&e>=-(1<<29)&&e<1<<29?a=1:n==(0|n)&&n>=-(1<<29)&&n<1<<29&&(a=1,r=1),!a)throw new Error("unsupported RkNumber "+e);t.write_shift(-4,((r?n:e)<<2)+(r+2))}function Sa(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}var ya=Sa,ka=function(e,t){return t||(t=Lr(16)),t.write_shift(4,e.s.r),t.write_shift(4,e.e.r),t.write_shift(4,e.s.c),t.write_shift(4,e.e.c),t};function _a(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e.read_shift(8,"f")}function Aa(e,t){return(t||Lr(8)).write_shift(8,e,"f")}function xa(e,t){if(t||(t=Lr(8)),!e||e.auto)return t.write_shift(4,0),t.write_shift(4,0),t;null!=e.index?(t.write_shift(1,2),t.write_shift(1,e.index)):null!=e.theme?(t.write_shift(1,6),t.write_shift(1,e.theme)):(t.write_shift(1,5),t.write_shift(1,0));var r=e.tint||0;if(r>0?r*=32767:r<0&&(r*=32768),t.write_shift(2,r),e.rgb&&null==e.theme){var a=e.rgb||"FFFFFF";"number"==typeof a&&(a=("000000"+a.toString(16)).slice(-6)),t.write_shift(1,parseInt(a.slice(0,2),16)),t.write_shift(1,parseInt(a.slice(2,4),16)),t.write_shift(1,parseInt(a.slice(4,6),16)),t.write_shift(1,255)}else t.write_shift(2,0),t.write_shift(1,0),t.write_shift(1,0);return t}function Ca(e,t){var r=e.read_shift(4);switch(r){case 0:return"";case 4294967295:case 4294967294:return{2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"}[e.read_shift(4)]||""}if(r>400)throw new Error("Unsupported Clipboard: "+r.toString(16));return e.l-=4,e.read_shift(0,1==t?"lpstr":"lpwstr")}var Oa=2,Ra=3,Ia=12,Na=80,Da=81,Fa=[Na,Da],Pa={1:{n:"CodePage",t:Oa},2:{n:"Category",t:Na},3:{n:"PresentationFormat",t:Na},4:{n:"ByteCount",t:Ra},5:{n:"LineCount",t:Ra},6:{n:"ParagraphCount",t:Ra},7:{n:"SlideCount",t:Ra},8:{n:"NoteCount",t:Ra},9:{n:"HiddenCount",t:Ra},10:{n:"MultimediaClipCount",t:Ra},11:{n:"ScaleCrop",t:11},12:{n:"HeadingPairs",t:4108},13:{n:"TitlesOfParts",t:4126},14:{n:"Manager",t:Na},15:{n:"Company",t:Na},16:{n:"LinksUpToDate",t:11},17:{n:"CharacterCount",t:Ra},19:{n:"SharedDoc",t:11},22:{n:"HyperlinksChanged",t:11},23:{n:"AppVersion",t:Ra,p:"version"},24:{n:"DigSig",t:65},26:{n:"ContentType",t:Na},27:{n:"ContentStatus",t:Na},28:{n:"Language",t:Na},29:{n:"Version",t:Na},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},La={1:{n:"CodePage",t:Oa},2:{n:"Title",t:Na},3:{n:"Subject",t:Na},4:{n:"Author",t:Na},5:{n:"Keywords",t:Na},6:{n:"Comments",t:Na},7:{n:"Template",t:Na},8:{n:"LastAuthor",t:Na},9:{n:"RevNumber",t:Na},10:{n:"EditTime",t:64},11:{n:"LastPrinted",t:64},12:{n:"CreatedDate",t:64},13:{n:"ModifiedDate",t:64},14:{n:"PageCount",t:Ra},15:{n:"WordCount",t:Ra},16:{n:"CharCount",t:Ra},17:{n:"Thumbnail",t:71},18:{n:"Application",t:Na},19:{n:"DocSecurity",t:Ra},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},Ma={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"},Ua=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Ba(e){return e.map(function(e){return[e>>16&255,e>>8&255,255&e]})}var Wa=Ke(Ba([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),Ha={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"},za={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255},Va={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"},Ga={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function ja(e,t){var r,a=function(e){for(var t=[],r=De(e),a=0;a!==r.length;++a)null==t[e[r[a]]]&&(t[e[r[a]]]=[]),t[e[r[a]]].push(r[a]);return t}(Va),n=[];n[n.length]=dt,n[n.length]=$t("Types",null,{xmlns:qt.CT,"xmlns:xsd":qt.xsd,"xmlns:xsi":qt.xsi}),n=n.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return $t("Default",null,{Extension:e[0],ContentType:e[1]})}));var s=function(a){e[a]&&e[a].length>0&&(r=e[a][0],n[n.length]=$t("Override",null,{PartName:("/"==r[0]?"":"/")+r,ContentType:Ga[a][t.bookType]||Ga[a].xlsx}))},i=function(r){(e[r]||[]).forEach(function(e){n[n.length]=$t("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:Ga[r][t.bookType]||Ga[r].xlsx})})},o=function(t){(e[t]||[]).forEach(function(e){n[n.length]=$t("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:a[t][0]})})};return s("workbooks"),i("sheets"),i("charts"),o("themes"),["strs","styles"].forEach(s),["coreprops","extprops","custprops"].forEach(o),o("vba"),o("comments"),o("threadedcomments"),o("drawings"),i("metadata"),o("people"),n.length>2&&(n[n.length]="",n[1]=n[1].replace("/>",">")),n.join("")}var Xa={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function $a(e){var t=e.lastIndexOf("/");return e.slice(0,t+1)+"_rels/"+e.slice(t+1)+".rels"}function Ya(e,t){var r={"!id":{}};if(!e)return r;"/"!==t.charAt(0)&&(t="/"+t);var a={};return(e.match(gt)||[]).forEach(function(e){var n=wt(e);if("2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Ja(e,t,r,a,n,s){if(n||(n={}),e["!id"]||(e["!id"]={}),e["!idx"]||(e["!idx"]=1),t<0)for(t=e["!idx"];e["!id"]["rId"+t];++t);if(e["!idx"]=t+1,n.Id="rId"+t,n.Type=a,n.Target=r,s?n.TargetMode=s:[Xa.HLINK,Xa.XPATH,Xa.XMISS].indexOf(n.Type)>-1&&(n.TargetMode="External"),e["!id"][n.Id])throw new Error("Cannot rewrite rId "+t);return e["!id"][n.Id]=n,e[("/"+n.Target).replace("//","/")]=n,t}var qa="application/vnd.oasis.opendocument.spreadsheet";function Za(e,t,r){return[' \n',' \n'," \n"].join("")}function Qa(e,t){return[' \n',' \n'," \n"].join("")}function en(){return'SheetJS '+a.version+""}var tn=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]],rn=function(){for(var e=new Array(tn.length),t=0;t]*>([\\s\\S]*?)")}return e}();function an(e){var t={};e=Lt(e);for(var r=0;r0&&(t[a[1]]=yt(n[1])),"date"===a[2]&&t[a[1]]&&(t[a[1]]=$e(t[a[1]]))}return t}function nn(e,t,r,a,n){null==n[e]&&null!=t&&""!==t&&(n[e]=t,t=At(t),a[a.length]=r?$t(e,t,r):jt(e,t))}function sn(e,t){var r=t||{},a=[dt,$t("cp:coreProperties",null,{"xmlns:cp":qt.CORE_PROPS,"xmlns:dc":qt.dc,"xmlns:dcterms":qt.dcterms,"xmlns:dcmitype":qt.dcmitype,"xmlns:xsi":qt.xsi})],n={};if(!e&&!r.Props)return a.join("");e&&(null!=e.CreatedDate&&nn("dcterms:created","string"==typeof e.CreatedDate?e.CreatedDate:Yt(e.CreatedDate,r.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n),null!=e.ModifiedDate&&nn("dcterms:modified","string"==typeof e.ModifiedDate?e.ModifiedDate:Yt(e.ModifiedDate,r.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n));for(var s=0;s!=tn.length;++s){var i=tn[s],o=r.Props&&null!=r.Props[i[1]]?r.Props[i[1]]:e?e[i[1]]:null;!0===o?o="1":!1===o?o="0":"number"==typeof o&&(o=String(o)),null!=o&&nn(i[0],o,null,a,n)}return a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}var on=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]],cn=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function ln(e,t,r,a){var n=[];if("string"==typeof e)n=Vt(e,a);else for(var s=0;s0)for(var l=0;l!==n.length;l+=2){switch(c=+n[l+1].v,n[l].v){case"Worksheets":case"工作表":case"Листы":case"أوراق العمل":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Regneark":case"Hojas de cálculo":case"Werkbladen":r.Worksheets=c,r.SheetNames=i.slice(o,o+c);break;case"Named Ranges":case"Rangos con nombre":case"名前付き一覧":case"Benannte Bereiche":case"Navngivne områder":r.NamedRanges=c,r.DefinedNames=i.slice(o,o+c);break;case"Charts":case"Diagramme":r.Chartsheets=c,r.ChartNames=i.slice(o,o+c)}o+=c}}function fn(e){var t=[],r=$t;return e||(e={}),e.Application="SheetJS",t[t.length]=dt,t[t.length]=$t("Properties",null,{xmlns:qt.EXT_PROPS,"xmlns:vt":qt.vt}),on.forEach(function(a){if(void 0!==e[a[1]]){var n;switch(a[2]){case"string":n=At(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false"}void 0!==n&&(t[t.length]=r(a[0],n))}}),t[t.length]=r("HeadingPairs",r("vt:vector",r("vt:variant","Worksheets")+r("vt:variant",r("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"})),t[t.length]=r("TitlesOfParts",r("vt:vector",e.SheetNames.map(function(e){return""+At(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"})),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var hn=/<[^>]+>[^<]*/g;function un(e){var t=[dt,$t("Properties",null,{xmlns:qt.CUST_PROPS,"xmlns:vt":qt.vt})];if(!e)return t.join("");var r=1;return De(e).forEach(function(a){++r,t[t.length]=$t("property",function(e){switch(typeof e){case"string":var t=$t("vt:lpwstr",At(e));return t=t.replace(/"/g,"_x0022_");case"number":return $t((0|e)==e?"vt:i4":"vt:r8",At(String(e)));case"boolean":return $t("vt:bool",e?"true":"false")}if(e instanceof Date)return $t("vt:filetime",Yt(e));throw new Error("Unable to serialize "+e)}(e[a]),{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:r,name:At(a)})}),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var dn,pn={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};function mn(e,t,r){dn||(dn=Pe(pn)),e[t=dn[t]||t]=r}function gn(e){var t=e.read_shift(4),r=e.read_shift(4);return new Date(1e3*(r/1e7*Math.pow(2,32)+t/1e7-11644473600)).toISOString().replace(/\.000/,"")}function vn(e,t,r){var a=e.l,n=e.read_shift(0,"lpstr-cp");if(r)for(;e.l-a&3;)++e.l;return n}function bn(e,t,r){var a=e.read_shift(0,"lpwstr");return r&&(e.l+=4-(a.length+1&3)&3),a}function wn(e,t,r){return 31===t?bn(e):vn(e,0,r)}function Tn(e,t,r){return wn(e,t,!1===r?0:4)}function En(e){var t=e.l,r=kn(e,Da);return 0==e[e.l]&&0==e[e.l+1]&&e.l-t&2&&(e.l+=2),[r,kn(e,Ra)]}function Sn(e,t){for(var r=e.read_shift(4),a={},n=0;n!=r;++n){var s=e.read_shift(4),i=e.read_shift(4);a[s]=e.read_shift(i,1200===t?"utf16le":"utf8").replace(I,"").replace(N,"!"),1200===t&&i%2&&(e.l+=2)}return 3&e.l&&(e.l=e.l>>3<<2),a}function yn(e){var t=e.read_shift(4),r=e.slice(e.l,e.l+t);return e.l+=t,(3&t)>0&&(e.l+=4-(3&t)&3),r}function kn(e,t,r){var a,n=e.read_shift(2),s=r||{};if(e.l+=2,t!==Ia&&n!==t&&-1===Fa.indexOf(t)&&(4126!=(65534&t)||4126!=(65534&n)))throw new Error("Expected type "+t+" saw "+n);switch(t===Ia?n:t){case 2:return a=e.read_shift(2,"i"),s.raw||(e.l+=2),a;case 3:return e.read_shift(4,"i");case 11:return 0!==e.read_shift(4);case 19:return e.read_shift(4);case 30:return vn(e,0,4).replace(I,"");case 31:return bn(e);case 64:return gn(e);case 65:return yn(e);case 71:return function(e){var t={};return t.Size=e.read_shift(4),e.l+=t.Size+3-(t.Size-1)%4,t}(e);case 80:return Tn(e,n,!s.raw).replace(I,"");case 81:return function(e,t){if(!t)throw new Error("VtUnalignedString must have positive length");return wn(e,t,0)}(e,n).replace(I,"");case 4108:return function(e){for(var t=e.read_shift(4),r=[],a=0;a0&&(r%=Math.pow(2,32),a+=n);var s=Lr(8);return s.write_shift(4,r),s.write_shift(4,a),s}(t);break;case 31:case 80:for((a=Lr(4+2*(t.length+1)+(t.length%2?0:2))).write_shift(4,t.length+1),a.write_shift(0,t,"dbcs");a.l!=a.length;)a.write_shift(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+t)}return R([r,a])}function An(e,t){var r=e.l,a=e.read_shift(4),n=e.read_shift(4),s=[],i=0,o=0,c=-1,f={};for(i=0;i!=n;++i){var h=e.read_shift(4),u=e.read_shift(4);s[i]=[h,u+r]}s.sort(function(e,t){return e[1]-t[1]});var d={};for(i=0;i!=n;++i){if(e.l!==s[i][1]){var p=!0;if(i>0&&t)switch(t[s[i-1][0]].t){case 2:e.l+2===s[i][1]&&(e.l+=2,p=!1);break;case 80:case 4108:e.l<=s[i][1]&&(e.l=s[i][1],p=!1)}if((!t||0==i)&&e.l<=s[i][1]&&(p=!1,e.l=s[i][1]),p)throw new Error("Read Error: Expected address "+s[i][1]+" at "+e.l+" :"+i)}if(t){var m=t[s[i][0]];if(d[m.n]=kn(e,m.t,{raw:!0}),"version"===m.p&&(d[m.n]=String(d[m.n]>>16)+"."+("0000"+String(65535&d[m.n])).slice(-4)),"CodePage"==m.n)switch(d[m.n]){case 0:d[m.n]=1252;case 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252:case 65e3:case-536:case 65001:case-535:l(o=d[m.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[m.n])}}else if(1===s[i][0]){if(o=d.CodePage=kn(e,Oa),l(o),-1!==c){var g=e.l;e.l=s[c][1],f=Sn(e,o),e.l=g}}else if(0===s[i][0]){if(0===o){c=i,e.l=s[i+1][1];continue}f=Sn(e,o)}else{var v,b=f[s[i][0]];switch(e[e.l]){case 65:e.l+=4,v=yn(e);break;case 30:case 31:e.l+=4,v=Tn(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4,v=e.read_shift(4,"i");break;case 19:e.l+=4,v=e.read_shift(4);break;case 5:e.l+=4,v=e.read_shift(8,"f");break;case 11:e.l+=4,v=Dn(e,4);break;case 64:e.l+=4,v=$e(gn(e));break;default:throw new Error("unparsed value: "+e[e.l])}d[b]=v}}return e.l=r+a,d}var xn=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function Cn(e){switch(typeof e){case"boolean":return 11;case"number":return(0|e)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64}return-1}function On(e,t,r){var a=Lr(8),n=[],s=[],i=8,o=0,c=Lr(8),l=Lr(8);if(c.write_shift(4,2),c.write_shift(4,1200),l.write_shift(4,1),s.push(c),n.push(l),i+=8+c.length,!t){(l=Lr(8)).write_shift(4,0),n.unshift(l);var f=[Lr(4)];for(f[0].write_shift(4,e.length),o=0;o-1||cn.indexOf(e[o][0])>-1)&&null!=e[o][1]){var u=e[o][1],d=0;if(t){var p=r[d=+t[e[o][0]]];if("version"==p.p&&"string"==typeof u){var m=u.split(".");u=(+m[0]<<16)+(+m[1]||0)}c=_n(p.t,u)}else{var g=Cn(u);-1==g&&(g=31,u=String(u)),c=_n(g,u)}s.push(c),(l=Lr(8)).write_shift(4,t?d:2+o),n.push(l),i+=8+c.length}var v=8*(s.length+1);for(o=0;o=12?2:1),s="sbcs-cont",i=n;r&&r.biff>=8&&(n=1200),r&&8!=r.biff?12==r.biff&&(s="wstr"):e.read_shift(1)&&(s="dbcs-cont"),r.biff>=2&&r.biff<=5&&(s="cpstr");var o=a?e.read_shift(a,s):"";return n=i,o}function Wn(e){var t=n;n=1200;var r,a=e.read_shift(2),s=e.read_shift(1),i=4&s,o=8&s,c=1+(1&s),l=0,f={};o&&(l=e.read_shift(2)),i&&(r=e.read_shift(4));var h=2==c?"dbcs-cont":"sbcs-cont",u=0===a?"":e.read_shift(a,h);return o&&(e.l+=4*l),i&&(e.l+=r),f.t=u,o||(f.raw=""+f.t+"",f.r=f.t),n=t,f}function Hn(e){var t=e.t||"",r=Lr(3);r.write_shift(2,t.length),r.write_shift(1,1);var a=Lr(2*t.length);return a.write_shift(2*t.length,t,"utf16le"),R([r,a])}function zn(e,t,r){if(r){if(r.biff>=2&&r.biff<=5)return e.read_shift(t,"cpstr");if(r.biff>=12)return e.read_shift(t,"dbcs-cont")}return 0===e.read_shift(1)?e.read_shift(t,"sbcs-cont"):e.read_shift(t,"dbcs-cont")}function Vn(e,t,r){var a=e.read_shift(r&&2==r.biff?1:2);return 0===a?(e.l++,""):zn(e,a,r)}function Gn(e,t,r){if(r.biff>5)return Vn(e,0,r);var a=e.read_shift(1);return 0===a?(e.l++,""):e.read_shift(a,r.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function jn(e,t,r){return r||(r=Lr(3+2*e.length)),r.write_shift(2,e.length),r.write_shift(1,1),r.write_shift(31,e,"utf16le"),r}function Xn(e){var t=e.read_shift(4);return t>0?e.read_shift(t,"utf16le").replace(I,""):""}function $n(e,t){t||(t=Lr(6+2*e.length)),t.write_shift(4,1+e.length);for(var r=0;r-1?31:23;switch(a.charAt(0)){case"#":s=28;break;case".":s&=-3}t.write_shift(4,2),t.write_shift(4,s);var i=[8,6815827,6619237,4849780,83];for(r=0;r-1?a.slice(0,n):a;for(t.write_shift(4,2*(o.length+1)),r=0;r-1?a.slice(n+1):"",t)}else{for(i="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" "),r=0;r8?4:2;return[e.read_shift(a),e.read_shift(a,"i"),e.read_shift(a,"i")]}function es(e){return[e.read_shift(2),Ta(e)]}function ts(e){var t=e.read_shift(2),r=e.read_shift(2);return{s:{c:e.read_shift(2),r:t},e:{c:e.read_shift(2),r}}}function rs(e,t){return t||(t=Lr(8)),t.write_shift(2,e.s.r),t.write_shift(2,e.e.r),t.write_shift(2,e.s.c),t.write_shift(2,e.e.c),t}function as(e){var t=e.read_shift(2),r=e.read_shift(2);return{s:{c:e.read_shift(1),r:t},e:{c:e.read_shift(1),r}}}var ns=as;function ss(e){e.l+=4;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(2);return e.l+=12,[r,t,a]}function is(e){e.l+=2,e.l+=e.read_shift(2)}var os={0:is,4:is,5:is,6:is,7:function(e){return e.l+=4,e.cf=e.read_shift(2),{}},8:is,9:is,10:is,11:is,12:is,13:function(e){var t={};return e.l+=4,e.l+=16,t.fSharedNote=e.read_shift(2),e.l+=4,t},14:is,15:is,16:is,17:is,18:is,19:is,20:is,21:ss};function cs(e,t){var r={BIFFVer:0,dt:0};switch(r.BIFFVer=e.read_shift(2),(t-=2)>=2&&(r.dt=e.read_shift(2),e.l-=2),r.BIFFVer){case 1536:case 1280:case 1024:case 768:case 512:case 2:case 7:break;default:if(t>6)throw new Error("Unexpected BIFF Ver "+r.BIFFVer)}return e.read_shift(t),r}function ls(e,t,r){var a=1536,n=16;switch(r.bookType){case"biff8":case"xla":break;case"biff5":a=1280,n=8;break;case"biff4":a=4,n=6;break;case"biff3":a=3,n=6;break;case"biff2":a=2,n=4;break;default:throw new Error("unsupported BIFF version")}var s=Lr(n);return s.write_shift(2,a),s.write_shift(2,t),n>4&&s.write_shift(2,29282),n>6&&s.write_shift(2,1997),n>8&&(s.write_shift(2,49161),s.write_shift(2,1),s.write_shift(2,1798),s.write_shift(2,0)),s}function fs(e,t){var r=!t||t.biff>=8?2:1,a=Lr(8+r*e.name.length);a.write_shift(4,e.pos),a.write_shift(1,e.hs||0),a.write_shift(1,e.dt),a.write_shift(1,e.name.length),t.biff>=8&&a.write_shift(1,1),a.write_shift(r*e.name.length,e.name,t.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);return n.l=a.l,n}function hs(e,t,r){var a=0;r&&2==r.biff||(a=e.read_shift(2));var n=e.read_shift(2);return r&&2==r.biff&&(a=1-(n>>15),n&=32767),[{Unsynced:1&a,DyZero:(2&a)>>1,ExAsc:(4&a)>>2,ExDsc:(8&a)>>3},n]}function us(e,t,r,a){var n=r&&5==r.biff;a||(a=Lr(n?3+t.length:5+2*t.length)),a.write_shift(2,e),a.write_shift(n?1:2,t.length),n||a.write_shift(1,1),a.write_shift((n?1:2)*t.length,t,n?"sbcs":"utf16le");var s=a.length>a.l?a.slice(0,a.l):a;return null==s.l&&(s.l=s.length),s}var ds=Gn;function ps(e,t,r){var a=e.l+t,n=8!=r.biff&&r.biff?2:4,s=e.read_shift(n),i=e.read_shift(n),o=e.read_shift(2),c=e.read_shift(2);return e.l=a,{s:{r:s,c:o},e:{r:i,c}}}function ms(e,t,r,a){var n=r&&5==r.biff;a||(a=Lr(n?16:20)),a.write_shift(2,0),e.style?(a.write_shift(2,e.numFmtId||0),a.write_shift(2,65524)):(a.write_shift(2,e.numFmtId||0),a.write_shift(2,t<<4));var s=0;return e.numFmtId>0&&n&&(s|=1024),a.write_shift(4,s),a.write_shift(4,0),n||a.write_shift(4,0),a.write_shift(2,0),a}function gs(e,t,r){var a=qn(e);2!=r.biff&&9!=t||++e.l;var n=function(e){var t=e.read_shift(1);return 1===e.read_shift(1)?t:1===t}(e);return a.val=n,a.t=!0===n||!1===n?"b":"e",a}var vs=function(e,t,r){return 0===t?"":Gn(e,0,r)};function bs(e,t,r){var a,n=e.read_shift(2),s={fBuiltIn:1&n,fWantAdvise:n>>>1&1,fWantPict:n>>>2&1,fOle:n>>>3&1,fOleLink:n>>>4&1,cf:n>>>5&1023,fIcon:n>>>15&1};return 14849===r.sbcch&&(a=function(e,t,r){e.l+=4,t-=4;var a=e.l+t,n=Bn(e,0,r),s=e.read_shift(2);if(s!==(a-=e.l))throw new Error("Malformed AddinUdf: padding = "+a+" != "+s);return e.l+=s,n}(e,t-2,r)),s.body=a||e.read_shift(t-2),"string"==typeof a&&(s.Name=a),s}var ws=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Ts(e,t,r){var a=e.l+t,n=e.read_shift(2),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(r&&2==r.biff?1:2),c=0;(!r||r.biff>=5)&&(5!=r.biff&&(e.l+=2),c=e.read_shift(2),5==r.biff&&(e.l+=2),e.l+=4);var l=zn(e,i,r);32&n&&(l=ws[l.charCodeAt(0)]);var f=a-e.l;r&&2==r.biff&&--f;var h=a!=e.l&&0!==o&&f>0?function(e,t,r,a){var n,s=e.l+t,i=No(e,a,r);return s!==e.l&&(n=Io(e,s-e.l,i,r)),[i,n]}(e,f,r,o):[];return{chKey:s,Name:l,itab:c,rgce:h}}function Es(e,t,r){if(r.biff<8)return function(e,t,r){3==e[e.l+1]&&e[e.l]++;var a=Bn(e,0,r);return 3==a.charCodeAt(0)?a.slice(1):a}(e,0,r);for(var a=[],n=e.l+t,s=e.read_shift(r.biff>8?4:2);0!==s--;)a.push(Qn(e,r.biff,r));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Ss(e,t,r){var a=ns(e,6);switch(r.biff){case 2:e.l++,t-=7;break;case 3:case 4:e.l+=2,t-=8;break;default:e.l+=6,t-=12}return[a,Uo(e,t,r)]}var ys={8:function(e,t){var r=e.l+t;e.l+=10;var a=e.read_shift(2);e.l+=4,e.l+=2,e.l+=2,e.l+=2,e.l+=4;var n=e.read_shift(1);return e.l+=n,e.l=r,{fmt:a}}};function ks(e){var t=Lr(24),r=Yr(e[0]);t.write_shift(2,r.r),t.write_shift(2,r.r),t.write_shift(2,r.c),t.write_shift(2,r.c);for(var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "),n=0;n<16;++n)t.write_shift(1,parseInt(a[n],16));return R([t,Yn(e[1])])}function _s(e){var t=e[1].Tooltip,r=Lr(10+2*(t.length+1));r.write_shift(2,2048);var a=Yr(e[0]);r.write_shift(2,a.r),r.write_shift(2,a.r),r.write_shift(2,a.c),r.write_shift(2,a.c);for(var n=0;n=12?4:2,n=e.read_shift(a),s=e.read_shift(a),i=e.read_shift(a),o=e.read_shift(a),c=e.read_shift(2);2==a&&(e.l+=2);var l={s:n,e:s,w:i,ixfe:o,flags:c};return(r.biff>=5||!r.biff)&&(l.level=c>>8&7),l}var xs=qn,Cs=Mn,Os=Vn,Rs=[2,3,48,49,131,139,140,245],Is=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},t=Pe({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function r(t,r){var a=r||{};a.dateNF||(a.dateNF="yyyymmdd");var n=ra(function(t,r){var a=[],n=k(1);switch(r.type){case"base64":n=A(E(t));break;case"binary":n=A(t);break;case"buffer":case"array":n=t}Fr(n,0);var s=n.read_shift(1),i=!!(136&s),o=!1,c=!1;switch(s){case 2:case 3:case 131:case 139:case 245:break;case 48:case 49:o=!0,i=!0;break;case 140:c=!0;break;default:throw new Error("DBF Unsupported Version: "+s.toString(16))}var l=0,f=521;2==s&&(l=n.read_shift(2)),n.l+=3,2!=s&&(l=n.read_shift(4)),l>1048576&&(l=1e6),2!=s&&(f=n.read_shift(2));var h=n.read_shift(2),u=r.codepage||1252;2!=s&&(n.l+=16,n.read_shift(1),0!==n[n.l]&&(u=e[n[n.l]]),n.l+=1,n.l+=2),c&&(n.l+=36);for(var p=[],m={},g=Math.min(n.length,2==s?521:f-10-(o?264:0)),v=c?32:11;n.l0;)if(42!==n[n.l])for(++n.l,a[++b]=[],w=0,w=0;w!=p.length;++w){var T=n.slice(n.l,n.l+p[w].len);n.l+=p[w].len,Fr(T,0);var S=d.utils.decode(u,T);switch(p[w].type){case"C":S.trim().length&&(a[b][w]=S.replace(/\s+$/,""));break;case"D":8===S.length?a[b][w]=new Date(+S.slice(0,4),+S.slice(4,6)-1,+S.slice(6,8)):a[b][w]=S;break;case"F":a[b][w]=parseFloat(S.trim());break;case"+":case"I":a[b][w]=c?2147483648^T.read_shift(-4,"i"):T.read_shift(4,"i");break;case"L":switch(S.trim().toUpperCase()){case"Y":case"T":a[b][w]=!0;break;case"N":case"F":a[b][w]=!1;break;case"":case"?":break;default:throw new Error("DBF Unrecognized L:|"+S+"|")}break;case"M":if(!i)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));a[b][w]="##MEMO##"+(c?parseInt(S.trim(),10):T.read_shift(4));break;case"N":(S=S.replace(/\u0000/g,"").trim())&&"."!=S&&(a[b][w]=+S||0);break;case"@":a[b][w]=new Date(T.read_shift(-8,"f")-621356832e5);break;case"T":a[b][w]=new Date(864e5*(T.read_shift(4)-2440588)+T.read_shift(4));break;case"Y":a[b][w]=T.read_shift(4,"i")/1e4+T.read_shift(4,"i")/1e4*Math.pow(2,32);break;case"O":a[b][w]=-T.read_shift(-8,"f");break;case"B":if(o&&8==p[w].len){a[b][w]=T.read_shift(8,"f");break}case"G":case"P":T.l+=p[w].len;break;case"0":if("_NullFlags"===p[w].name)break;default:throw new Error("DBF Unsupported data type "+p[w].type)}}else n.l+=h;if(2!=s&&n.l=0&&l(+n.codepage),"string"==n.type)throw new Error("Cannot write DBF to JS string");var i=Ur(),o=zf(e,{header:1,raw:!0,cellDates:!0}),c=o[0],f=o.slice(1),h=e["!cols"]||[],u=0,d=0,p=0,m=1;for(u=0;u250&&(S=250),"C"==(E=((h[u]||{}).DBF||{}).type)&&h[u].DBF.len>S&&(S=h[u].DBF.len),"B"==T&&"N"==E&&(T="N",w[u]=h[u].DBF.dec,S=h[u].DBF.len),b[u]="C"==T||"N"==E?S:a[T]||0,m+=b[u],v[u]=T}else v[u]="?"}var k=i.next(32);for(k.write_shift(4,318902576),k.write_shift(4,f.length),k.write_shift(2,296+32*p),k.write_shift(2,m),u=0;u<4;++u)k.write_shift(4,0);for(k.write_shift(4,(+t[s]||3)<<8),u=0,d=0;u":190,"?":191,"{":223},t=new RegExp("N("+De(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm"),r=function(t,r){var a=e[r];return"number"==typeof a?g(a):a},a=function(e,t,r){var a=t.charCodeAt(0)-32<<4|r.charCodeAt(0)-48;return 59==a?e:g(a)};function n(e,n){var s,i=e.split(/[\n\r]+/),o=-1,c=-1,f=0,h=0,u=[],p=[],m=null,g={},v=[],b=[],w=[],T=0;for(+n.codepage>=0&&l(+n.codepage);f!==i.length;++f){T=0;var E,S=i[f].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,a).replace(t,r),y=S.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")}),k=y[0];if(S.length>0)switch(k){case"ID":case"E":case"B":case"O":case"W":break;case"P":"P"==y[1].charAt(0)&&p.push(S.slice(3).replace(/;;/g,";"));break;case"C":var _=!1,A=!1,x=!1,C=!1,O=-1,R=-1;for(h=1;h-1&&u[O][R];if(!N||!N[1])throw new Error("SYLK shared formula cannot find base");u[o][c][1]=co(N[1],{r:o-O,c:c-R})}break;case"F":var D=0;for(h=1;h0?(v[o].hpt=T,v[o].hpx=Ei(T)):0===T&&(v[o].hidden=!0);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+S)}D<1&&(m=null);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+S)}}return v.length>0&&(g["!rows"]=v),b.length>0&&(g["!cols"]=b),n&&n.sheetRows&&(u=u.slice(0,n.sheetRows)),[u,g]}function s(e,t){var r=function(e,t){switch(t.type){case"base64":return n(E(e),t);case"binary":return n(e,t);case"buffer":return n(S&&Buffer.isBuffer(e)?e.toString("binary"):C(e),t);case"array":return n(Ye(e),t)}throw new Error("Unrecognized type "+t.type)}(e,t),a=r[0],s=r[1],i=ra(a,t);return De(s).forEach(function(e){i[e]=s[e]}),i}function i(e,t,r,a){var n="C;Y"+(r+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0,e.f&&!e.F&&(n+=";E"+oo(e.f,{r,c:a}));break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"'}return n}return e["|"]=254,{to_workbook:function(e,t){return ea(s(e,t),t)},to_sheet:s,from_sheet:function(e,t){var r,a,n=["ID;PWXL;N;E"],s=[],o=Zr(e["!ref"]),c=Array.isArray(e),l="\r\n";n.push("P;PGeneral"),n.push("F;P0;DG0G8;M255"),e["!cols"]&&(a=n,e["!cols"].forEach(function(e,t){var r="F;W"+(t+1)+" "+(t+1)+" ";e.hidden?r+="0":("number"!=typeof e.width||e.wpx||(e.wpx=di(e.width)),"number"!=typeof e.wpx||e.wch||(e.wch=pi(e.wpx)),"number"==typeof e.wch&&(r+=Math.round(e.wch)))," "!=r.charAt(r.length-1)&&a.push(r)})),e["!rows"]&&function(e,t){t.forEach(function(t,r){var a="F;";t.hidden?a+="M0;":t.hpt?a+="M"+20*t.hpt+";":t.hpx&&(a+="M"+20*Ti(t.hpx)+";"),a.length>2&&e.push(a+"R"+(r+1))})}(n,e["!rows"]),n.push("B;Y"+(o.e.r-o.s.r+1)+";X"+(o.e.c-o.s.c+1)+";D"+[o.s.c,o.s.r,o.e.c,o.e.r].join(" "));for(var f=o.s.r;f<=o.e.r;++f)for(var h=o.s.c;h<=o.e.c;++h){var u=Kr({r:f,c:h});(r=c?(e[f]||[])[h]:e[u])&&(null!=r.v||r.f&&!r.F)&&s.push(i(r,0,f,h))}return n.join(l)+l+s.join(l)+l+"E"+l}}}(),Ds=function(){function e(e,t){for(var r=e.split("\n"),a=-1,n=-1,s=0,i=[];s!==r.length;++s)if("BOT"!==r[s].trim()){if(!(a<0)){for(var o=r[s].trim().split(","),c=o[0],l=o[1],f=r[++s]||"";1&(f.match(/["]/g)||[]).length&&s=0?o=l:n=l}}),c>=0&&-1==o&&n>=0&&(o=n,n=-1);var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(s>=1?s:1)).slice(-2);7==l.length&&(l="0"+l),8==l.length&&(l="20"+l);var f=("00"+(i>=0?i:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2)+":"+("00"+(c>=0?c:0)).slice(-2);return-1==i&&-1==o&&-1==c?l:-1==a&&-1==n&&-1==s?f:l+"T"+f}(0,r.dateNF,t.match(w)||[]),n=1),r.cellDates?(a.t="d",a.v=$e(t,n)):(a.t="n",a.v=Ue($e(t,n))),!1!==r.cellText&&(a.w=Te(a.z,a.v instanceof Date?Ue(a.v):a.v)),r.cellNF||delete a.z}else a.t="s",a.v=t;else a.t="n",!1!==r.cellText&&(a.w=t),a.v=l;if("z"==a.t||(r.dense?(s[o]||(s[o]=[]),s[o][c]=a):s[Kr({c,r:o})]=a),f=h+1,m=e.charCodeAt(f),i.e.c0&&T(),s["!ref"]=qr(i),s}function s(t,r){var a="",s="string"==r.type?[0,0,0,0]:Af(t,r);switch(r.type){case"base64":a=E(t);break;case"binary":case"string":a=t;break;case"buffer":a=65001==r.codepage?t.toString("utf8"):r.codepage&&void 0!==d?d.utils.decode(r.codepage,t):S&&Buffer.isBuffer(t)?t.toString("binary"):C(t);break;case"array":a=Ye(t);break;default:throw new Error("Unrecognized type "+r.type)}return 239==s[0]&&187==s[1]&&191==s[2]?a=Lt(a.slice(3)):"string"!=r.type&&"buffer"!=r.type&&65001==r.codepage?a=Lt(a):"binary"==r.type&&void 0!==d&&r.codepage&&(a=d.utils.decode(r.codepage,d.utils.encode(28591,a))),"socialcalc:version:"==a.slice(0,19)?Fs.to_sheet("string"==r.type?a:Lt(a),r):function(t,r){return r&&r.PRN?r.FS||"sep="==t.slice(0,4)||t.indexOf("\t")>=0||t.indexOf(",")>=0||t.indexOf(";")>=0?n(t,r):ra(function(t,r){var a=r||{},n=[];if(!t||0===t.length)return n;for(var s=t.split(/[\r\n]/),i=s.length-1;i>=0&&0===s[i].length;)--i;for(var o=10,c=0,l=0;l<=i;++l)-1==(c=s[l].indexOf(" "))?c=s[l].length:c++,o=Math.max(o,c);for(l=0;l<=i;++l){n[l]=[];var f=0;for(e(s[l].slice(0,o).trim(),n,l,f,a),f=1;f<=(s[l].length-o)/10+1;++f)e(s[l].slice(o+10*(f-1),o+10*f).trim(),n,l,f,a)}return a.sheetRows&&(n=n.slice(0,a.sheetRows)),n}(t,r),r):n(t,r)}(a,r)}return{to_workbook:function(e,t){return ea(s(e,t),t)},to_sheet:s,from_sheet:function(e){for(var t,r=[],a=Zr(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){for(var i=[],o=a.s.c;o<=a.e.c;++o){var c=Kr({r:s,c:o});if((t=n?(e[s]||[])[o]:e[c])&&null!=t.v){for(var l=(t.w||(Qr(t),t.w)||"").slice(0,10);l.length<10;)l+=" ";i.push(l+(0===o?" ":""))}else i.push(" ")}r.push(i.join(""))}return r.join("\n")}}}(),Ls=function(){function e(e,t,r){if(e){Fr(e,e.l||0);for(var a=r.Enum||w;e.l=16&&5==t[14]&&108===t[15])throw new Error("Unsupported Works 3 for Mac file");if(2==t[2])a.Enum=w,e(t,function(e,t,r){switch(r){case 0:a.vers=e,e>=4096&&(a.qpro=!0);break;case 6:h=e;break;case 204:e&&(i=e);break;case 222:i=e;break;case 15:case 51:a.qpro||(e[1].v=e[1].v.slice(1));case 13:case 14:case 16:14==r&&!(112&~e[2])&&(15&e[2])>1&&(15&e[2])<15&&(e[1].z=a.dateNF||z[14],a.cellDates&&(e[1].t="d",e[1].v=ze(e[1].v))),a.qpro&&e[3]>o&&(n["!ref"]=qr(h),c[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s=i||"Sheet"+(o+1),i="");var f=a.dense?(n[e[0].r]||[])[e[0].c]:n[Kr(e[0])];if(f){f.t=e[1].t,f.v=e[1].v,null!=e[1].z&&(f.z=e[1].z),null!=e[1].f&&(f.f=e[1].f);break}a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[Kr(e[0])]=e[1]}},a);else{if(26!=t[2]&&14!=t[2])throw new Error("Unrecognized LOTUS BOF "+t[2]);a.Enum=T,14==t[2]&&(a.qpro=!0,t.l=0),e(t,function(e,t,r){switch(r){case 204:s=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(e[3]>o&&(n["!ref"]=qr(h),c[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s="Sheet"+(o+1)),u>0&&e[0].r>=u)break;a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[Kr(e[0])]=e[1],h.e.c=128?95:s)}return a.write_shift(1,0),a}function s(e,t,r){var a=Lr(7);return a.write_shift(1,255),a.write_shift(2,t),a.write_shift(2,e),a.write_shift(2,r,"i"),a}function i(e,t,r){var a=Lr(13);return a.write_shift(1,255),a.write_shift(2,t),a.write_shift(2,e),a.write_shift(8,r,"f"),a}function o(e,t,r){var a=32768&t;return t=(a?e:0)+((t&=-32769)>=8192?t-16384:t),(a?"":"$")+(r?$r(t):jr(t))}var c={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]},f=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function h(e){var t=[{c:0,r:0},{t:"n",v:0},0];return t[0].r=e.read_shift(2),t[3]=e[e.l++],t[0].c=e[e.l++],t}function u(e,t,r,a){var n=Lr(6+a.length);n.write_shift(2,e),n.write_shift(1,r),n.write_shift(1,t),n.write_shift(1,39);for(var s=0;s=128?95:i)}return n.write_shift(1,0),n}function d(e,t){var r=h(e),a=e.read_shift(4),n=e.read_shift(4),s=e.read_shift(2);if(65535==s)return 0===a&&3221225472===n?(r[1].t="e",r[1].v=15):0===a&&3489660928===n?(r[1].t="e",r[1].v=42):r[1].v=0,r;var i=32768&s;return s=(32767&s)-16446,r[1].v=(1-2*i)*(n*Math.pow(2,s+32)+a*Math.pow(2,s)),r}function p(e,t,r,a){var n=Lr(14);if(n.write_shift(2,e),n.write_shift(1,r),n.write_shift(1,t),0==a)return n.write_shift(4,0),n.write_shift(4,0),n.write_shift(2,65535),n;var s,i=0,o=0,c=0;return a<0&&(i=1,a=-a),o=0|Math.log2(a),2147483648&(c=(a/=Math.pow(2,o-31))>>>0)||(++o,c=(a/=2)>>>0),a-=c,c|=2147483648,c>>>=0,s=(a*=Math.pow(2,32))>>>0,n.write_shift(4,s),n.write_shift(4,c),o+=16383+(i?32768:0),n.write_shift(2,o),n}function m(e,t){var r=h(e),a=e.read_shift(8,"f");return r[1].v=a,r}function g(e,t){return 0==e[e.l+t-1]?e.read_shift(t,"cstr"):""}function v(e,t){var r=Lr(5+e.length);r.write_shift(2,14e3),r.write_shift(2,t);for(var a=0;a127?95:n}return r[r.l++]=0,r}var w={0:{n:"BOF",f:Pn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:function(e,t,r){var a={s:{c:0,r:0},e:{c:0,r:0}};return 8==t&&r.qpro?(a.s.c=e.read_shift(1),e.l++,a.s.r=e.read_shift(2),a.e.c=e.read_shift(1),e.l++,a.e.r=e.read_shift(2),a):(a.s.c=e.read_shift(2),a.s.r=e.read_shift(2),12==t&&r.qpro&&(e.l+=2),a.e.c=e.read_shift(2),a.e.r=e.read_shift(2),12==t&&r.qpro&&(e.l+=2),65535==a.s.c&&(a.s.c=a.e.c=a.s.r=a.e.r=0),a)}},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:function(e,t,a){var n=r(e,0,a);return n[1].v=e.read_shift(2,"i"),n}},14:{n:"NUMBER",f:function(e,t,a){var n=r(e,0,a);return n[1].v=e.read_shift(8,"f"),n}},15:{n:"LABEL",f:a},16:{n:"FORMULA",f:function(e,t,a){var n=e.l+t,s=r(e,0,a);if(s[1].v=e.read_shift(8,"f"),a.qpro)e.l=n;else{var i=e.read_shift(2);!function(e,t){Fr(e,0);for(var r=[],a=0,n="",s="",i="",l="";e.lr.length)return void console.error("WK1 bad formula parse 0x"+h.toString(16)+":|"+r.join("|")+"|");var m=r.slice(-a);r.length-=a,r.push(c[h][0]+"("+m.join(",")+")")}}}1==r.length?t[1].f=""+r[0]:console.error("WK1 bad formula parse |"+r.join("|")+"|")}(e.slice(e.l,e.l+i),s),e.l+=i}return s}},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:a},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:g},222:{n:"SHEETNAMELP",f:function(e,t){var r=e[e.l++];r>t-1&&(r=t-1);for(var a="";a.length>1;if(1&r[1].v)switch(7&a){case 0:a=5e3*(a>>3);break;case 1:a=500*(a>>3);break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64}return r[1].v=a,r}},25:{n:"FORMULA19",f:function(e,t){var r=d(e);return e.l+=t-14,r}},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:function(e,t){for(var r={},a=e.l+t;e.l>6,r}},38:{n:"??"},39:{n:"NUMBER27",f:m},40:{n:"FORMULA28",f:function(e,t){var r=m(e);return e.l+=t-10,r}},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:g},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:function(e,t,r){if(r.qpro&&!(t<21)){var a=e.read_shift(1);return e.l+=17,e.l+=1,e.l+=2,[a,e.read_shift(t-21,"cstr")]}}},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:function(e,t){var r=t||{};if(+r.codepage>=0&&l(+r.codepage),"string"==r.type)throw new Error("Cannot write WK1 to JS string");var a,o=Ur(),c=Zr(e["!ref"]),f=Array.isArray(e),h=[];Sl(o,0,((a=Lr(2)).write_shift(2,1030),a)),Sl(o,6,function(e){var t=Lr(8);return t.write_shift(2,e.s.c),t.write_shift(2,e.s.r),t.write_shift(2,e.e.c),t.write_shift(2,e.e.r),t}(c));for(var u=Math.min(c.e.r,8191),d=c.s.r;d<=u;++d)for(var p=jr(d),m=c.s.c;m<=c.e.c;++m){d===c.s.r&&(h[m]=$r(m));var g=h[m]+p,v=f?(e[d]||[])[m]:e[g];v&&"z"!=v.t&&("n"==v.t?(0|v.v)==v.v&&v.v>=-32768&&v.v<=32767?Sl(o,13,s(d,m,v.v)):Sl(o,14,i(d,m,v.v)):Sl(o,15,n(d,m,Qr(v).slice(0,239))))}return Sl(o,1),o.end()},book_to_wk3:function(e,t){var r=t||{};if(+r.codepage>=0&&l(+r.codepage),"string"==r.type)throw new Error("Cannot write WK3 to JS string");var a=Ur();Sl(a,0,function(e){var t=Lr(26);t.write_shift(2,4096),t.write_shift(2,4),t.write_shift(4,0);for(var r=0,a=0,n=0,s=0;s8191&&(r=8191),t.write_shift(2,r),t.write_shift(1,n),t.write_shift(1,a),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(1,1),t.write_shift(1,2),t.write_shift(4,0),t.write_shift(4,0),t}(e));for(var n=0,s=0;n":case"":t.shadow=1;break;case"":break;case"":case"":t.outline=1;break;case"":break;case"":case"":t.strike=1;break;case"":break;case"":case"":t.u=1;break;case"":break;case"":case"":t.b=1;break;case"":break;case"":case"":t.i=1;break;case"":break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"":break;case"":n=!1;break;default:if(47!==s[0].charCodeAt(1)&&!n)throw new Error("Unrecognized rich format "+s[0])}}return t}(s[1])),n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function(e){return e.replace(a,"").split(n).map(r).filter(function(e){return e.v})}}(),Us=function(){var e=/(\r\n|\n)/g;function t(t){var r=[[],t.v,[]];return t.v?(t.s&&function(e,t,r){var a=[];e.u&&a.push("text-decoration: underline;"),e.uval&&a.push("text-underline-style:"+e.uval+";"),e.sz&&a.push("font-size:"+e.sz+"pt;"),e.outline&&a.push("text-effect: outline;"),e.shadow&&a.push("text-shadow: auto;"),t.push(''),e.b&&(t.push(""),r.push("")),e.i&&(t.push(""),r.push("")),e.strike&&(t.push(""),r.push(""));var n=e.valign||"";"superscript"==n||"super"==n?n="sup":"subscript"==n&&(n="sub"),""!=n&&(t.push("<"+n+">"),r.push("")),r.push("")}(t.s,r[0],r[2]),r[0].join("")+r[1].replace(e,"
")+r[2].join("")):""}return function(e){return e.map(t).join("")}}(),Bs=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Ws=/<(?:\w+:)?r>/,Hs=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function zs(e,t){var r=!t||t.cellHTML,a={};return e?(e.match(/^\s*<(?:\w+:)?t[^>]*>/)?(a.t=yt(Lt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||"")),a.r=Lt(e),r&&(a.h=Ot(a.t))):e.match(Ws)&&(a.r=Lt(e),a.t=yt(Lt((e.replace(Hs,"").match(Bs)||[]).join("").replace(gt,""))),r&&(a.h=Us(Ms(a.r)))),a):{t:""}}var Vs=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/,Gs=/<(?:\w+:)?(?:si|sstItem)>/g,js=/<\/(?:\w+:)?(?:si|sstItem)>/,Xs=/^\s|\s$|[\t\n\r]/;function $s(e,t){if(!t.bookSST)return"";var r=[dt];r[r.length]=$t("sst",null,{xmlns:Zt[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a)if(null!=e[a]){var n=e[a],s="";n.r?s+=n.r:(s+=""),s+="",r[r.length]=s}return r.length>2&&(r[r.length]="",r[1]=r[1].replace("/>",">")),r.join("")}var Ys=function(e,t){var r=!1;return null==t&&(r=!0,t=Lr(15+4*e.t.length)),t.write_shift(1,0),sa(e.t,t),r?t.slice(0,t.l):t};function Ks(e){var t=Ur();Br(t,159,function(e,t){return t||(t=Lr(8)),t.write_shift(4,e.Count),t.write_shift(4,e.Unique),t}(e));for(var r=0;r=4&&(e.l+=t-4),r}function Zs(e){for(var t=e.read_shift(4),r=e.l+t-4,a={},n=e.read_shift(4),s=[];n-- >0;)s.push({t:e.read_shift(4),v:e.read_shift(0,"lpp4")});if(a.name=e.read_shift(0,"lpp4"),a.comps=s,e.l!=r)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+r);return a}function Qs(e,t){var r=e.l+t,a={};a.Flags=63&e.read_shift(4),e.l+=4,a.AlgID=e.read_shift(4);var n=!1;switch(a.AlgID){case 26126:case 26127:case 26128:n=36==a.Flags;break;case 26625:n=4==a.Flags;break;case 0:n=16==a.Flags||4==a.Flags||36==a.Flags;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID}if(!n)throw new Error("Encryption Flags/AlgID mismatch");return a.AlgIDHash=e.read_shift(4),a.KeySize=e.read_shift(4),a.ProviderType=e.read_shift(4),e.l+=8,a.CSPName=e.read_shift(r-e.l>>1,"utf16le"),e.l=r,a}function ei(e,t){var r={},a=e.l+t;return e.l+=4,r.Salt=e.slice(e.l,e.l+16),e.l+=16,r.Verifier=e.slice(e.l,e.l+16),e.l+=16,e.read_shift(4),r.VerifierHash=e.slice(e.l,a),e.l=a,r}function ti(e){if(36!=(63&e.read_shift(4)))throw new Error("EncryptionInfo mismatch");var t=e.read_shift(4);return{t:"Std",h:Qs(e,t),v:ei(e,e.length-e.l)}}function ri(){throw new Error("File is password-protected: ECMA-376 Extensible")}function ai(e){var t=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var r=e.read_shift(e.length-e.l,"utf8"),a={};return r.replace(gt,function(e){var r=wt(e);switch(Tt(r[0])){case"":case"":case"":break;case"":case"=0;--r)a=((16384&a?1:0)|a<<1&32767)^t[r];return 52811^a}var si=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0],t=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163],r=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628],a=function(e,t){return 255&((r=e^t)/2|128*r);var r};return function(n){for(var s,i,o,c=Js(n),l=function(e){for(var a=t[e.length-1],n=104,s=e.length-1;s>=0;--s)for(var i=e[s],o=0;7!=o;++o)64&i&&(a^=r[n]),i*=2,--n;return a}(c),f=c.length,h=k(16),u=0;16!=u;++u)h[u]=0;for(1&~f||(s=l>>8,h[f]=a(e[0],s),--f,s=255&l,i=c[c.length-1],h[f]=a(i,s));f>0;)s=l>>8,h[--f]=a(c[f],s),s=255&l,h[--f]=a(c[f],s);for(f=15,o=15-c.length;o>0;)s=l>>8,h[f]=a(e[o],s),--o,s=255&l,h[--f]=a(c[f],s),--f,--o;return h}}();var ii=function(){function e(e,r){switch(r.type){case"base64":return t(E(e),r);case"binary":return t(e,r);case"buffer":return t(S&&Buffer.isBuffer(e)?e.toString("binary"):C(e),r);case"array":return t(Ye(e),r)}throw new Error("Unrecognized type "+r.type)}function t(e,t){var r=(t||{}).dense?[]:{},a=e.match(/\\trowd.*?\\row\b/g);if(!a.length)throw new Error("RTF missing table");var n={s:{c:0,r:0},e:{c:0,r:a.length-1}};return a.forEach(function(e,t){Array.isArray(r)&&(r[t]=[]);for(var a,s=/\\\w+\b/g,i=0,o=-1;a=s.exec(e);){if("\\cell"===a[0]){var c=e.slice(i,s.lastIndex-a[0].length);if(" "==c[0]&&(c=c.slice(1)),++o,c.length){var l={v:c,t:"s"};Array.isArray(r)?r[t][o]=l:r[Kr({r:t,c:o})]=l}}i=s.lastIndex}o>n.e.c&&(n.e.c=o)}),r["!ref"]=qr(n),r}return{to_workbook:function(t,r){return ea(e(t,r),r)},to_sheet:e,from_sheet:function(e){for(var t,r=["{\\rtf1\\ansi"],a=Zr(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){r.push("\\trowd\\trautofit1");for(var i=a.s.c;i<=a.e.c;++i)r.push("\\cellx"+(i+1));for(r.push("\\pard\\intbl"),i=a.s.c;i<=a.e.c;++i){var o=Kr({r:s,c:i});(t=n?(e[s]||[])[i]:e[o])&&(null!=t.v||t.f&&!t.F)&&(r.push(" "+(t.w||(Qr(t),t.w))),r.push("\\cell"))}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}}}();function oi(e){for(var t=0,r=1;3!=t;++t)r=256*r+(e[t]>255?255:e[t]<0?0:e[t]);return r.toString(16).toUpperCase().slice(1)}function ci(e,t){if(0===t)return e;var r,a,n=function(e){var t=e[0]/255,r=e[1]/255,a=e[2]/255,n=Math.max(t,r,a),s=Math.min(t,r,a),i=n-s;if(0===i)return[0,0,t];var o,c=0,l=n+s;switch(o=i/(l>1?2-l:l),n){case t:c=((r-a)/i+6)%6;break;case r:c=(a-t)/i+2;break;case a:c=(t-r)/i+4}return[c/6,o,l/2]}((a=(r=e).slice("#"===r[0]?1:0).slice(0,6),[parseInt(a.slice(0,2),16),parseInt(a.slice(2,4),16),parseInt(a.slice(4,6),16)]));return n[2]=t<0?n[2]*(1+t):1-(1-n[2])*(1-t),oi(function(e){var t,r=e[0],a=e[1],n=e[2],s=2*a*(n<.5?n:1-n),i=n-s/2,o=[i,i,i],c=6*r;if(0!==a)switch(0|c){case 0:case 6:t=s*c,o[0]+=s,o[1]+=t;break;case 1:t=s*(2-c),o[0]+=t,o[1]+=s;break;case 2:t=s*(c-2),o[1]+=s,o[2]+=t;break;case 3:t=s*(4-c),o[1]+=t,o[2]+=s;break;case 4:t=s*(c-4),o[2]+=s,o[0]+=t;break;case 5:t=s*(6-c),o[2]+=t,o[0]+=s}for(var l=0;3!=l;++l)o[l]=Math.round(255*o[l]);return o}(n))}var li=6,fi=15,hi=1,ui=li;function di(e){return Math.floor((e+Math.round(128/ui)/256)*ui)}function pi(e){return Math.floor((e-5)/ui*100+.5)/100}function mi(e){return Math.round((e*ui+5)/ui*256)/256}function gi(e){return mi(pi(di(e)))}function vi(e){var t=Math.abs(e-gi(e)),r=ui;if(t>.005)for(ui=hi;ui]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/,t=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/,r=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/,a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/,n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function(s,i,c){var l,f={};return s?((l=(s=s.replace(//gm,"").replace(//gm,"")).match(e))&&function(e,t,r){t.NumberFmt=[];for(var a=De(z),n=0;n":case"":case"":case"":break;case"0){if(c>392){for(c=392;c>60&&null!=t.NumberFmt[c];--c);t.NumberFmt[c]=o}Ee(o,c)}break;default:if(r.WTF)throw new Error("unrecognized "+i[0]+" in numFmts")}}}(l,f,c),(l=s.match(a))&&function(e,t,r,a){t.Fonts=[];var n={},s=!1;(e[0].match(gt)||[]).forEach(function(e){var i=wt(e);switch(Tt(i[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":t.Fonts.push(n),n={};break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+i[0]+" in fonts")}})}(l,f,i,c),(l=s.match(r))&&function(e,t,r,a){t.Fills=[];var n={},s=!1;(e[0].match(gt)||[]).forEach(function(e){var r=wt(e);switch(Tt(r[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":n={},t.Fills.push(n);break;case"":t.Fills.push(n),n={};break;case"":r.patternType&&(n.patternType=r.patternType);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+r[0]+" in fills")}})}(l,f,0,c),(l=s.match(n))&&function(e,t,r,a){t.Borders=[];var n={},s=!1;(e[0].match(gt)||[]).forEach(function(e){var r=wt(e);switch(Tt(r[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":n={},r.diagonalUp&&(n.diagonalUp=It(r.diagonalUp)),r.diagonalDown&&(n.diagonalDown=It(r.diagonalDown)),t.Borders.push(n);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+r[0]+" in borders")}})}(l,f,0,c),(l=s.match(t))&&function(e,t,r){var a;t.CellXf=[];var n=!1;(e[0].match(gt)||[]).forEach(function(e){var s=wt(e),i=0;switch(Tt(s[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":for(delete(a=s)[0],i=0;i392)for(i=392;i>60;--i)if(t.NumberFmt[a.numFmtId]==t.NumberFmt[i]){a.numFmtId=i;break}t.CellXf.push(a);break;case"":var o={};s.vertical&&(o.vertical=s.vertical),s.horizontal&&(o.horizontal=s.horizontal),null!=s.textRotation&&(o.textRotation=s.textRotation),s.indent&&(o.indent=s.indent),s.wrapText&&(o.wrapText=It(s.wrapText)),a.alignment=o;break;case"":case"":n=!1;break;default:if(r&&r.WTF&&!n)throw new Error("unrecognized "+s[0]+" in cellXfs")}})}(l,f,c),f):f}}();function Ai(e,t){var r,a=[dt,$t("styleSheet",null,{xmlns:Zt[0],"xmlns:vt":qt.vt})];return e.SSF&&null!=(r=function(e){var t=[""];return[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)null!=e[a]&&(t[t.length]=$t("numFmt",null,{numFmtId:a,formatCode:At(e[a])}))}),1===t.length?"":(t[t.length]="",t[0]=$t("numFmts",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(e.SSF))&&(a[a.length]=r),a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',(r=function(e){var t=[];return t[t.length]=$t("cellXfs",null),e.forEach(function(e){t[t.length]=$t("xf",null,e)}),t[t.length]="",2===t.length?"":(t[0]=$t("cellXfs",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(t.cellXfs))&&(a[a.length]=r),a[a.length]='',a[a.length]='',a[a.length]='',a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}function xi(e,t,r){r||(r=Lr(6+4*t.length)),r.write_shift(2,e),sa(t,r);var a=r.length>r.l?r.slice(0,r.l):r;return null==r.l&&(r.l=r.length),a}var Ci,Oi=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"],Ri=Pr;function Ii(e,t){t||(t=Lr(84)),Ci||(Ci=Pe(Oi));var r=Ci[e.patternType];null==r&&(r=40),t.write_shift(4,r);var a=0;if(40!=r)for(xa({auto:1},t),xa({auto:1},t);a<12;++a)t.write_shift(4,0);else{for(;a<4;++a)t.write_shift(4,0);for(;a<12;++a)t.write_shift(4,0)}return t.length>t.l?t.slice(0,t.l):t}function Ni(e,t,r){return r||(r=Lr(16)),r.write_shift(2,t||0),r.write_shift(2,e.numFmtId||0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r}function Di(e,t){return t||(t=Lr(10)),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(4,0),t.write_shift(4,0),t}var Fi=Pr;function Pi(e,t){var r=Ur();return Br(r,278),function(e,t){if(t){var r=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)null!=t[a]&&++r}),0!=r&&(Br(e,615,aa(r)),[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)null!=t[a]&&Br(e,44,xi(a,t[a]))}),Br(e,616))}}(r,e.SSF),function(e){Br(e,611,aa(1)),Br(e,43,function(e,t){t||(t=Lr(153)),t.write_shift(2,20*e.sz),function(e,t){t||(t=Lr(2));var r=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);t.write_shift(1,r),t.write_shift(1,0)}(e,t),t.write_shift(2,e.bold?700:400);var r=0;"superscript"==e.vertAlign?r=1:"subscript"==e.vertAlign&&(r=2),t.write_shift(2,r),t.write_shift(1,e.underline||0),t.write_shift(1,e.family||0),t.write_shift(1,e.charset||0),t.write_shift(1,0),xa(e.color,t);var a=0;return"major"==e.scheme&&(a=1),"minor"==e.scheme&&(a=2),t.write_shift(1,a),sa(e.name,t),t.length>t.l?t.slice(0,t.l):t}({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"})),Br(e,612)}(r),function(e){Br(e,603,aa(2)),Br(e,45,Ii({patternType:"none"})),Br(e,45,Ii({patternType:"gray125"})),Br(e,604)}(r),function(e){var t;Br(e,613,aa(1)),Br(e,46,(t||(t=Lr(51)),t.write_shift(1,0),Di(0,t),Di(0,t),Di(0,t),Di(0,t),Di(0,t),t.length>t.l?t.slice(0,t.l):t)),Br(e,614)}(r),function(e){Br(e,626,aa(1)),Br(e,47,Ni({numFmtId:0,fontId:0,fillId:0,borderId:0},65535)),Br(e,627)}(r),function(e,t){Br(e,617,aa(t.length)),t.forEach(function(t){Br(e,47,Ni(t,0))}),Br(e,618)}(r,t.cellXfs),function(e){var t,r;Br(e,619,aa(1)),Br(e,48,(t={xfId:0,builtinId:0,name:"Normal"},r||(r=Lr(52)),r.write_shift(4,t.xfId),r.write_shift(2,1),r.write_shift(1,+t.builtinId),r.write_shift(1,0),ga(t.name||"",r),r.length>r.l?r.slice(0,r.l):r)),Br(e,620)}(r),function(e){Br(e,505,aa(0)),Br(e,506)}(r),function(e){var t;Br(e,508,((t=Lr(2052)).write_shift(4,0),ga("TableStyleMedium9",t),ga("PivotStyleMedium4",t),t.length>t.l?t.slice(0,t.l):t)),Br(e,509)}(r),Br(r,279),r.end()}var Li=["","","","","","","","","","","",""];function Mi(e,t,r){t.themeElements.clrScheme=[];var a={};(e[0].match(gt)||[]).forEach(function(e){var n=wt(e);switch(n[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":"/"===n[0].charAt(1)?(t.themeElements.clrScheme[Li.indexOf(n[0])]=a,a={}):a.name=n[0].slice(3,n[0].length-1);break;default:if(r&&r.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme")}})}function Ui(){}function Bi(){}var Wi=/]*)>[\s\S]*<\/a:clrScheme>/,Hi=/]*)>[\s\S]*<\/a:fontScheme>/,zi=/]*)>[\s\S]*<\/a:fmtScheme>/,Vi=/]*)>[\s\S]*<\/a:themeElements>/;function Gi(e,t){var r;e&&0!==e.length||(e=ji());var a={};if(!(r=e.match(Vi)))throw new Error("themeElements not found in theme");return function(e,t,r){var a;t.themeElements={},[["clrScheme",Wi,Mi],["fontScheme",Hi,Ui],["fmtScheme",zi,Bi]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,t,r)})}(r[0],a,t),a.raw=e,a}function ji(e,t){if(t&&t.themeXLSX)return t.themeXLSX;if(e&&"string"==typeof e.raw)return e.raw;var r=[dt];return r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r.join("")}function Xi(e){var t=e.read_shift(2),r=e.read_shift(2)-4,a=[t];switch(t){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:a[1]=function(e){var t={};switch(t.xclrType=e.read_shift(2),t.nTintShade=e.read_shift(2),t.xclrType){case 0:case 4:e.l+=4;break;case 1:t.xclrValue=function(e){return Pr(e,4)}(e);break;case 2:t.xclrValue=Kn(e);break;case 3:t.xclrValue=function(e){return e.read_shift(4)}(e)}return e.l+=8,t}(e);break;case 6:a[1]=function(e,t){return Pr(e,t)}(e,r);break;case 14:case 15:a[1]=e.read_shift(1===r?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+t+" "+r)}return a}function $i(e,t){t.forEach(function(e){e[0]})}function Yi(){var e,t,r=Ur();return Br(r,332),Br(r,334,aa(1)),Br(r,335,((t=Lr(12+2*(e={name:"XLDAPR",version:12e4,flags:3496657072}).name.length)).write_shift(4,e.flags),t.write_shift(4,e.version),sa(e.name,t),t.slice(0,t.l))),Br(r,336),Br(r,339,function(e,t){var r=Lr(20);return r.write_shift(4,1),sa(t,r),r.slice(0,r.l)}(0,"XLDAPR")),Br(r,52),Br(r,35,aa(514)),Br(r,4096,aa(0)),Br(r,4097,Ln(1)),Br(r,36),Br(r,53),Br(r,340),Br(r,337,function(){var e=Lr(8);return e.write_shift(4,1),e.write_shift(4,1),e}()),Br(r,51,function(e){var t=Lr(4+8*e.length);t.write_shift(4,e.length);for(var r=0;r\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'),e.join("")}var Ji=1024;function qi(e,t){for(var r=[21600,21600],a=["m0,0l0",r[1],r[0],r[1],r[0],"0xe"].join(","),n=[$t("xml",null,{"xmlns:v":Qt.v,"xmlns:o":Qt.o,"xmlns:x":Qt.x,"xmlns:mv":Qt.mv}).replace(/\/>/,">"),$t("o:shapelayout",$t("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),$t("v:shapetype",[$t("v:stroke",null,{joinstyle:"miter"}),$t("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:r.join(","),path:a})];Ji<1e3*e;)Ji+=1e3;return t.forEach(function(e){var t=Yr(e[0]),r={color2:"#BEFF82",type:"gradient"};"gradient"==r.type&&(r.angle="-180");var a="gradient"==r.type?$t("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null,s=$t("v:fill",a,r);++Ji,n=n.concat(["",s,$t("v:shadow",null,{on:"t",obscured:"t"}),$t("v:path",null,{"o:connecttype":"none"}),'
','',"","",jt("x:Anchor",[t.c+1,0,t.r+1,0,t.c+3,20,t.r+5,20].join(",")),jt("x:AutoFill","False"),jt("x:Row",String(t.r)),jt("x:Column",String(t.c)),e[1].hidden?"":"","",""])}),n.push(""),n.join("")}function Zi(e,t,r,a){var n,s=Array.isArray(e);t.forEach(function(t){var i=Yr(t.ref);if(s?(e[i.r]||(e[i.r]=[]),n=e[i.r][i.c]):n=e[t.ref],!n){n={t:"z"},s?e[i.r][i.c]=n:e[t.ref]=n;var o=Zr(e["!ref"]||"BDWGO1000001:A1");o.s.r>i.r&&(o.s.r=i.r),o.e.ri.c&&(o.s.c=i.c),o.e.c=0;--f){if(!r&&n.c[f].T)return;r&&!n.c[f].T&&n.c.splice(f,1)}if(r&&a)for(f=0;f"),e.forEach(function(e){e[1].forEach(function(e){var a=At(e.a);-1==r.indexOf(a)&&(r.push(a),t.push(""+a+"")),e.T&&e.ID&&-1==r.indexOf("tc="+e.ID)&&(r.push("tc="+e.ID),t.push("tc="+e.ID+""))})}),0==r.length&&(r.push("SheetJ5"),t.push("SheetJ5")),t.push(""),t.push(""),e.forEach(function(e){var a=0,n=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID?a=r.indexOf("tc="+e[1][0].ID):e[1].forEach(function(e){e.a&&(a=r.indexOf(At(e.a))),n.push(e.t||"")}),t.push(''),n.length<=1)t.push(jt("t",At(n[0]||"")));else{for(var s="Comment:\n "+n[0]+"\n",i=1;i")}),t.push(""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function eo(e,t,r){var a=[dt,$t("ThreadedComments",null,{xmlns:qt.TCMNT}).replace(/[\/]>/,">")];return e.forEach(function(e){var n="";(e[1]||[]).forEach(function(s,i){if(s.T){s.a&&-1==t.indexOf(s.a)&&t.push(s.a);var o={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+r.tcid++).slice(-12)+"}"};0==i?n=o.id:o.parentId=n,s.ID=o.id,s.a&&(o.personId="{54EE7950-7262-4200-6969-"+("000000000000"+t.indexOf(s.a)).slice(-12)+"}"),a.push($t("threadedComment",jt("text",s.t||""),o))}else delete s.ID})}),a.push(""),a.join("")}var to=na;function ro(e){var t=Ur(),r=[];return Br(t,628),Br(t,630),e.forEach(function(e){e[1].forEach(function(e){r.indexOf(e.a)>-1||(r.push(e.a.slice(0,54)),Br(t,632,function(e){return sa(e.slice(0,54))}(e.a)))})}),Br(t,631),Br(t,633),e.forEach(function(e){e[1].forEach(function(a){a.iauthor=r.indexOf(a.a);var n,s,i,o={s:Yr(e[0]),e:Yr(e[0])};Br(t,635,function(e,t){return null==t&&(t=Lr(36)),t.write_shift(4,e[1].iauthor),ka(e[0],t),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t}([o,a])),a.t&&a.t.length>0&&Br(t,637,(n=a,i=!1,null==s&&(i=!0,s=Lr(23+4*n.t.length)),s.write_shift(1,1),sa(n.t,s),s.write_shift(4,1),function(e,t){t||(t=Lr(4)),t.write_shift(2,e.ich||0),t.write_shift(2,e.ifnt||0)}({ich:0,ifnt:0},s),i?s.slice(0,s.l):s)),Br(t,636),delete a.iauthor})}),Br(t,634),Br(t,629),t.end()}var ao="application/vnd.ms-office.vbaProject",no=["xlsb","xlsm","xlam","biff8","xla"],so=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g,t={r:0,c:0};function r(e,r,a,n){var s=!1,i=!1;0==a.length?i=!0:"["==a.charAt(0)&&(i=!0,a=a.slice(1,-1)),0==n.length?s=!0:"["==n.charAt(0)&&(s=!0,n=n.slice(1,-1));var o=a.length>0?0|parseInt(a,10):0,c=n.length>0?0|parseInt(n,10):0;return s?c+=t.c:--c,i?o+=t.r:--o,r+(s?"":"$")+$r(c)+(i?"":"$")+jr(o)}return function(a,n){return t=n,a.replace(e,r)}}(),io=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g,oo=function(){return function(e,t){return e.replace(io,function(e,r,a,n,s,i){var o=Xr(n)-(a?0:t.c),c=Gr(i)-(s?0:t.r);return r+"R"+(0==c?"":s?c+1:"["+c+"]")+"C"+(0==o?"":a?o+1:"["+o+"]")})}}();function co(e,t){return e.replace(io,function(e,r,a,n,s,i){return r+("$"==a?a+n:$r(Xr(n)+t.c))+("$"==s?s+i:jr(Gr(i)+t.r))})}function lo(e,t,r){var a=Jr(t).s,n=Yr(r);return co(e,{r:n.r-a.r,c:n.c-a.c})}function fo(e){return e.replace(/_xlfn\./g,"")}function ho(e){e.l+=1}function uo(e,t){var r=e.read_shift(1==t?1:2);return[16383&r,r>>14&1,r>>15&1]}function po(e,t,r){var a=2;if(r){if(r.biff>=2&&r.biff<=5)return mo(e);12==r.biff&&(a=4)}var n=e.read_shift(a),s=e.read_shift(a),i=uo(e,2),o=uo(e,2);return{s:{r:n,c:i[0],cRel:i[1],rRel:i[2]},e:{r:s,c:o[0],cRel:o[1],rRel:o[2]}}}function mo(e){var t=uo(e,2),r=uo(e,2),a=e.read_shift(1),n=e.read_shift(1);return{s:{r:t[0],c:a,cRel:t[1],rRel:t[2]},e:{r:r[0],c:n,cRel:r[1],rRel:r[2]}}}function go(e,t,r){if(r&&r.biff>=2&&r.biff<=5)return function(e){var t=uo(e,2),r=e.read_shift(1);return{r:t[0],c:r,cRel:t[1],rRel:t[2]}}(e);var a=e.read_shift(r&&12==r.biff?4:2),n=uo(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function vo(e){var t=e.read_shift(2),r=e.read_shift(2);return{r:t,c:255&r,fQuoted:!!(16384&r),cRel:r>>15,rRel:r>>15}}function bo(e){var t=1&e[e.l+1];return e.l+=4,[t,1]}function wo(e){return[e.read_shift(1),e.read_shift(1)]}function To(e,t){var r=[e.read_shift(1)];if(12==t)switch(r[0]){case 2:r[0]=4;break;case 4:r[0]=16;break;case 0:r[0]=1;break;case 1:r[0]=2}switch(r[0]){case 4:r[1]=Dn(e,1)?"TRUE":"FALSE",12!=t&&(e.l+=7);break;case 37:case 16:r[1]=Ha[e[e.l]],e.l+=12==t?4:8;break;case 0:e.l+=8;break;case 1:r[1]=_a(e);break;case 2:r[1]=Gn(e,0,{biff:t>0&&t<8?2:t});break;default:throw new Error("Bad SerAr: "+r[0])}return r}function Eo(e,t,r){for(var a=e.read_shift(12==r.biff?4:2),n=[],s=0;s!=a;++s)n.push((12==r.biff?ya:ts)(e,8));return n}function So(e,t,r){var a=0,n=0;12==r.biff?(a=e.read_shift(4),n=e.read_shift(4)):(n=1+e.read_shift(1),a=1+e.read_shift(2)),r.biff>=2&&r.biff<8&&(--a,0==--n&&(n=256));for(var s=0,i=[];s!=a&&(i[s]=[]);++s)for(var o=0;o!=n;++o)i[s][o]=To(e,r.biff);return i}function yo(e,t,r){return e.l+=2,[vo(e)]}function ko(e){return e.l+=6,[]}function _o(e){return e.l+=2,[Pn(e),1&e.read_shift(2)]}var Ao=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"],xo={1:{n:"PtgExp",f:function(e,t,r){return e.l++,r&&12==r.biff?[e.read_shift(4,"i"),0]:[e.read_shift(2),e.read_shift(r&&2==r.biff?1:2)]}},2:{n:"PtgTbl",f:Pr},3:{n:"PtgAdd",f:ho},4:{n:"PtgSub",f:ho},5:{n:"PtgMul",f:ho},6:{n:"PtgDiv",f:ho},7:{n:"PtgPower",f:ho},8:{n:"PtgConcat",f:ho},9:{n:"PtgLt",f:ho},10:{n:"PtgLe",f:ho},11:{n:"PtgEq",f:ho},12:{n:"PtgGe",f:ho},13:{n:"PtgGt",f:ho},14:{n:"PtgNe",f:ho},15:{n:"PtgIsect",f:ho},16:{n:"PtgUnion",f:ho},17:{n:"PtgRange",f:ho},18:{n:"PtgUplus",f:ho},19:{n:"PtgUminus",f:ho},20:{n:"PtgPercent",f:ho},21:{n:"PtgParen",f:ho},22:{n:"PtgMissArg",f:ho},23:{n:"PtgStr",f:function(e,t,r){return e.l++,Bn(e,0,r)}},26:{n:"PtgSheet",f:function(e,t,r){return e.l+=5,e.l+=2,e.l+=2==r.biff?1:4,["PTGSHEET"]}},27:{n:"PtgEndSheet",f:function(e,t,r){return e.l+=2==r.biff?4:5,["PTGENDSHEET"]}},28:{n:"PtgErr",f:function(e){return e.l++,Ha[e.read_shift(1)]}},29:{n:"PtgBool",f:function(e){return e.l++,0!==e.read_shift(1)}},30:{n:"PtgInt",f:function(e){return e.l++,e.read_shift(2)}},31:{n:"PtgNum",f:function(e){return e.l++,_a(e)}},32:{n:"PtgArray",f:function(e,t,r){var a=(96&e[e.l++])>>5;return e.l+=2==r.biff?6:12==r.biff?14:7,[a]}},33:{n:"PtgFunc",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(r&&r.biff<=3?1:2);return[Yo[n],$o[n],a]}},34:{n:"PtgFuncVar",f:function(e,t,r){var a=e[e.l++],n=e.read_shift(1),s=r&&r.biff<=3?[88==a?-1:0,e.read_shift(1)]:function(e){return[e[e.l+1]>>7,32767&e.read_shift(2)]}(e);return[n,(0===s[0]?$o:Xo)[s[1]]]}},35:{n:"PtgName",f:function(e,t,r){var a=e.read_shift(1)>>>5&3,n=!r||r.biff>=8?4:2,s=e.read_shift(n);switch(r.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12}return[a,0,s]}},36:{n:"PtgRef",f:function(e,t,r){var a=(96&e[e.l])>>5;return e.l+=1,[a,go(e,0,r)]}},37:{n:"PtgArea",f:function(e,t,r){return[(96&e[e.l++])>>5,po(e,r.biff>=2&&r.biff,r)]}},38:{n:"PtgMemArea",f:function(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=r&&2==r.biff?3:4,[a,e.read_shift(r&&2==r.biff?1:2)]}},39:{n:"PtgMemErr",f:Pr},40:{n:"PtgMemNoMem",f:Pr},41:{n:"PtgMemFunc",f:function(e,t,r){return[e.read_shift(1)>>>5&3,e.read_shift(r&&2==r.biff?1:2)]}},42:{n:"PtgRefErr",f:function(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=4,r.biff<8&&e.l--,12==r.biff&&(e.l+=2),[a]}},43:{n:"PtgAreaErr",f:function(e,t,r){var a=(96&e[e.l++])>>5;return e.l+=r&&r.biff>8?12:r.biff<8?6:8,[a]}},44:{n:"PtgRefN",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=function(e,t,r){var a=r&&r.biff?r.biff:8;if(a>=2&&a<=5)return function(e){var t=e.read_shift(2),r=e.read_shift(1),a=(32768&t)>>15,n=(16384&t)>>14;return t&=16383,1==a&&t>=8192&&(t-=16384),1==n&&r>=128&&(r-=256),{r:t,c:r,cRel:n,rRel:a}}(e);var n=e.read_shift(a>=12?4:2),s=e.read_shift(2),i=(16384&s)>>14,o=(32768&s)>>15;if(s&=16383,1==o)for(;n>524287;)n-=1048576;if(1==i)for(;s>8191;)s-=16384;return{r:n,c:s,cRel:i,rRel:o}}(e,0,r);return[a,n]}},45:{n:"PtgAreaN",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=function(e,t,r){if(r.biff<8)return mo(e);var a=e.read_shift(12==r.biff?4:2),n=e.read_shift(12==r.biff?4:2),s=uo(e,2),i=uo(e,2);return{s:{r:a,c:s[0],cRel:s[1],rRel:s[2]},e:{r:n,c:i[0],cRel:i[1],rRel:i[2]}}}(e,0,r);return[a,n]}},46:{n:"PtgMemAreaN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},47:{n:"PtgMemNoMemN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},57:{n:"PtgNameX",f:function(e,t,r){return 5==r.biff?function(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2,"i");e.l+=8;var a=e.read_shift(2);return e.l+=12,[t,r,a]}(e):[e.read_shift(1)>>>5&3,e.read_shift(2),e.read_shift(4)]}},58:{n:"PtgRef3d",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(2);return r&&5==r.biff&&(e.l+=12),[a,n,go(e,0,r)]}},59:{n:"PtgArea3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2,"i");if(r&&5===r.biff)e.l+=12;return[a,n,po(e,0,r)]}},60:{n:"PtgRefErr3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=4;if(r)switch(r.biff){case 5:s=15;break;case 12:s=6}return e.l+=s,[a,n]}},61:{n:"PtgAreaErr3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=8;if(r)switch(r.biff){case 5:e.l+=12,s=6;break;case 12:s=12}return e.l+=s,[a,n]}},255:{}},Co={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},Oo={1:{n:"PtgElfLel",f:_o},2:{n:"PtgElfRw",f:yo},3:{n:"PtgElfCol",f:yo},6:{n:"PtgElfRwV",f:yo},7:{n:"PtgElfColV",f:yo},10:{n:"PtgElfRadical",f:yo},11:{n:"PtgElfRadicalS",f:ko},13:{n:"PtgElfColS",f:ko},15:{n:"PtgElfColSV",f:ko},16:{n:"PtgElfRadicalLel",f:_o},25:{n:"PtgList",f:function(e){e.l+=2;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n=e.read_shift(2),s=e.read_shift(2);return{ixti:t,coltype:3&r,rt:Ao[r>>2&31],idx:a,c:n,C:s}}},29:{n:"PtgSxName",f:function(e){return e.l+=2,[e.read_shift(4)]}},255:{}},Ro={0:{n:"PtgAttrNoop",f:function(e){return e.l+=4,[0,0]}},1:{n:"PtgAttrSemi",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=r&&2==r.biff?3:4,[a]}},2:{n:"PtgAttrIf",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(r&&2==r.biff?1:2)]}},4:{n:"PtgAttrChoose",f:function(e,t,r){e.l+=2;for(var a=e.read_shift(r&&2==r.biff?1:2),n=[],s=0;s<=a;++s)n.push(e.read_shift(r&&2==r.biff?1:2));return n}},8:{n:"PtgAttrGoto",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(r&&2==r.biff?1:2)]}},16:{n:"PtgAttrSum",f:function(e,t,r){e.l+=r&&2==r.biff?3:4}},32:{n:"PtgAttrBaxcel",f:bo},33:{n:"PtgAttrBaxcel",f:bo},64:{n:"PtgAttrSpace",f:function(e){return e.read_shift(2),wo(e)}},65:{n:"PtgAttrSpaceSemi",f:function(e){return e.read_shift(2),wo(e)}},128:{n:"PtgAttrIfError",f:function(e){var t=255&e[e.l+1]?1:0;return e.l+=2,[t,e.read_shift(2)]}},255:{}};function Io(e,t,r,a){if(a.biff<8)return Pr(e,t);for(var n=e.l+t,s=[],i=0;i!==r.length;++i)switch(r[i][0]){case"PtgArray":r[i][1]=So(e,0,a),s.push(r[i][1]);break;case"PtgMemArea":r[i][2]=Eo(e,r[i][1],a),s.push(r[i][2]);break;case"PtgExp":a&&12==a.biff&&(r[i][1][1]=e.read_shift(4),s.push(r[i][1]));break;case"PtgList":case"PtgElfRadicalS":case"PtgElfColS":case"PtgElfColSV":throw"Unsupported "+r[i][0]}return 0!==(t=n-e.l)&&s.push(Pr(e,t)),s}function No(e,t,r){for(var a,n,s=e.l+t,i=[];s!=e.l;)t=s-e.l,n=e[e.l],a=xo[n]||xo[Co[n]],24!==n&&25!==n||(a=(24===n?Oo:Ro)[e[e.l+1]]),a&&a.f?i.push([a.n,a.f(e,t,r)]):Pr(e,t);return i}function Do(e){for(var t=[],r=0;r=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function Po(e,t,r){if(!e)return"SH33TJSERR0";if(r.biff>8&&(!e.XTI||!e.XTI[t]))return e.SheetNames[t];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[t];if(r.biff<8)return t>1e4&&(t-=65536),t<0&&(t=-t),0==t?"":e.XTI[t-1];if(!a)return"SH33TJSERR1";var n="";if(r.biff>8)switch(e[a[0]][0]){case 357:return n=-1==a[1]?"#REF":e.SheetNames[a[1]],a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:return null!=r.SID?e.SheetNames[r.SID]:"SH33TJSSAME"+e[a[0]][0];default:return"SH33TJSSRC"+e[a[0]][0]}switch(e[a[0]][0][0]){case 1025:return n=-1==a[1]?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3",a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:return e[a[0]][0][3]?(n=-1==a[1]?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4",a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]]):"SH33TJSERR2"}}function Lo(e,t,r){var a=Po(e,t,r);return"#REF"==a?a:function(e,t){if(!(e||t&&t.biff<=5&&t.biff>=2))throw new Error("empty sheet name");return/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e)?"'"+e+"'":e}(a,r)}function Mo(e,t,r,a,n){var s,i,o,c,l=n&&n.biff||8,f={s:{c:0,r:0},e:{c:0,r:0}},h=[],u=0,d=0,p="";if(!e[0]||!e[0][0])return"";for(var m=-1,g="",v=0,b=e[0].length;v=0){switch(e[0][m][1][0]){case 0:g=Je(" ",e[0][m][1][1]);break;case 1:g=Je("\r",e[0][m][1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}i+=g,m=-1}h.push(i+Fo[w[0]]+s);break;case"PtgIsect":s=h.pop(),i=h.pop(),h.push(i+" "+s);break;case"PtgUnion":s=h.pop(),i=h.pop(),h.push(i+","+s);break;case"PtgRange":s=h.pop(),i=h.pop(),h.push(i+":"+s);break;case"PtgAttrChoose":case"PtgAttrGoto":case"PtgAttrIf":case"PtgAttrIfError":case"PtgAttrBaxcel":case"PtgAttrSemi":case"PtgMemArea":case"PtgTbl":case"PtgMemErr":case"PtgMemAreaN":case"PtgMemNoMemN":case"PtgAttrNoop":case"PtgSheet":case"PtgEndSheet":case"PtgMemFunc":case"PtgMemNoMem":break;case"PtgRef":o=Wr(w[1][1],f,n),h.push(zr(o,l));break;case"PtgRefN":o=r?Wr(w[1][1],r,n):w[1][1],h.push(zr(o,l));break;case"PtgRef3d":u=w[1][1],o=Wr(w[1][2],f,n),p=Lo(a,u,n),h.push(p+"!"+zr(o,l));break;case"PtgFunc":case"PtgFuncVar":var T=w[1][0],E=w[1][1];T||(T=0);var S=0==(T&=127)?[]:h.slice(-T);h.length-=T,"User"===E&&(E=S.shift()),h.push(E+"("+S.join(",")+")");break;case"PtgBool":h.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":case"PtgErr":h.push(w[1]);break;case"PtgNum":h.push(String(w[1]));break;case"PtgStr":h.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgAreaN":c=Hr(w[1][1],r?{s:r}:f,n),h.push(Vr(c,n));break;case"PtgArea":c=Hr(w[1][1],f,n),h.push(Vr(c,n));break;case"PtgArea3d":u=w[1][1],c=w[1][2],p=Lo(a,u,n),h.push(p+"!"+Vr(c,n));break;case"PtgAttrSum":h.push("SUM("+h.pop()+")");break;case"PtgName":d=w[1][2];var y=(a.names||[])[d-1]||(a[0]||[])[d],k=y?y.Name:"SH33TJSNAME"+String(d);k&&"_xlfn."==k.slice(0,6)&&!n.xlfn&&(k=k.slice(6)),h.push(k);break;case"PtgNameX":var _,A=w[1][1];if(d=w[1][2],!(n.biff<=5)){var x="";if(14849==((a[A]||[])[0]||[])[0]||(1025==((a[A]||[])[0]||[])[0]?a[A][d]&&a[A][d].itab>0&&(x=a.SheetNames[a[A][d].itab-1]+"!"):x=a.SheetNames[d-1]+"!"),a[A]&&a[A][d])x+=a[A][d].Name;else if(a[0]&&a[0][d])x+=a[0][d].Name;else{var C=(Po(a,A,n)||"").split(";;");C[d-1]?x=C[d-1]:x+="SH33TJSERRX"}h.push(x);break}A<0&&(A=-A),a[A]&&(_=a[A][d]),_||(_={Name:"SH33TJSERRY"}),h.push(_.Name);break;case"PtgParen":var O="(",R=")";if(m>=0){switch(g="",e[0][m][1][0]){case 2:O=Je(" ",e[0][m][1][1])+O;break;case 3:O=Je("\r",e[0][m][1][1])+O;break;case 4:R=Je(" ",e[0][m][1][1])+R;break;case 5:R=Je("\r",e[0][m][1][1])+R;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}m=-1}h.push(O+h.pop()+R);break;case"PtgRefErr":case"PtgRefErr3d":case"PtgAreaErr":case"PtgAreaErr3d":h.push("#REF!");break;case"PtgExp":o={c:w[1][1],r:w[1][0]};var I={c:r.c,r:r.r};if(a.sharedf[Kr(o)]){var N=a.sharedf[Kr(o)];h.push(Mo(N,0,I,a,n))}else{var D=!1;for(s=0;s!=a.arrayf.length;++s)if(i=a.arrayf[s],!(o.ci[0].e.c||o.ri[0].e.r)){h.push(Mo(i[1],0,I,a,n)),D=!0;break}D||h.push(w[1])}break;case"PtgArray":h.push("{"+Do(w[1])+"}");break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":m=v;break;case"PtgMissArg":h.push("");break;case"PtgList":h.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgElfCol":case"PtgElfColS":case"PtgElfColSV":case"PtgElfColV":case"PtgElfLel":case"PtgElfRadical":case"PtgElfRadicalLel":case"PtgElfRadicalS":case"PtgElfRw":case"PtgElfRwV":throw new Error("Unsupported ELFs");default:throw new Error("Unrecognized Formula Token: "+String(w))}if(3!=n.biff&&m>=0&&-1==["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"].indexOf(e[0][v][0])){var F=!0;switch((w=e[0][m])[1][0]){case 4:F=!1;case 0:g=Je(" ",w[1][1]);break;case 5:F=!1;case 1:g=Je("\r",w[1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0])}h.push((F?g:"")+h.pop()+(F?"":g)),m=-1}}if(h.length>1&&n.WTF)throw new Error("bad formula stack");return h[0]}function Uo(e,t,r){var a,n=e.l+t,s=2==r.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Pr(e,t-2)];var o=No(e,i,r);return t!==i+s&&(a=Io(e,t-i-s,o,r)),e.l=n,[o,a]}function Bo(e,t,r){var a,n=e.l+t,s=e.read_shift(2),i=No(e,s,r);return 65535==s?[[],Pr(e,t-2)]:(t!==s+2&&(a=Io(e,n-s-2,i,r)),[i,a])}function Wo(e,t,r){var a=e.l+t,n=qn(e);2==r.biff&&++e.l;var s=function(e){var t;if(65535!==yr(e,e.l+6))return[_a(e),"n"];switch(e[e.l]){case 0:return e.l+=8,["String","s"];case 1:return t=1===e[e.l+2],e.l+=8,[t,"b"];case 2:return t=e[e.l+2],e.l+=8,[t,"e"];case 3:return e.l+=8,["","s"]}return[]}(e),i=e.read_shift(1);2!=r.biff&&(e.read_shift(1),r.biff>=5&&e.read_shift(4));var o=function(e,t,r){var a,n=e.l+t,s=2==r.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Pr(e,t-2)];var o=No(e,i,r);return t!==i+s&&(a=Io(e,t-i-s,o,r)),e.l=n,[o,a]}(e,a-e.l,r);return{cell:n,val:s[0],formula:o,shared:i>>3&1,tt:s[1]}}function Ho(e,t,r){var a=e.read_shift(4),n=No(e,a,r),s=e.read_shift(4);return[n,s>0?Io(e,s,n,r):null]}var zo=Ho,Vo=Ho,Go=Ho,jo=Ho,Xo={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"},$o={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"},Yo={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function Ko(e){return"of:"==e.slice(0,3)&&(e=e.slice(3)),61==e.charCodeAt(0)&&61==(e=e.slice(1)).charCodeAt(0)&&(e=e.slice(1)),(e=(e=(e=e.replace(/COM\.MICROSOFT\./g,"")).replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,t){return t.replace(/\./g,"")})).replace(/\[.(#[A-Z]*[?!])\]/g,"$1")).replace(/[;~]/g,",").replace(/\|/g,";")}function Jo(e){return("of:="+e.replace(io,"$1[.$2$3$4$5]").replace(/\]:\[/g,":")).replace(/;/g,"|").replace(/,/g,";")}function qo(e){var t=e.split(":");return[t[0].split(".")[0],t[0].split(".")[1]+(t.length>1?":"+(t[1].split(".")[1]||t[1].split(".")[0]):"")]}function Zo(e){return e.replace(/\./,"!")}var Qo={},ec={},tc="undefined"!=typeof Map;function rc(e,t,r){var a=0,n=e.length;if(r){if(tc?r.has(t):Object.prototype.hasOwnProperty.call(r,t))for(var s=tc?r.get(t):r[t];a-1?(r.width=mi(a),r.customWidth=1):null!=t.width&&(r.width=t.width),t.hidden&&(r.hidden=!0),null!=t.level&&(r.outlineLevel=r.level=t.level),r}function nc(e,t){if(e){var r=[.7,.7,.75,.75,.3,.3];"xlml"==t&&(r=[1,1,1,1,.5,.5]),null==e.left&&(e.left=r[0]),null==e.right&&(e.right=r[1]),null==e.top&&(e.top=r[2]),null==e.bottom&&(e.bottom=r[3]),null==e.header&&(e.header=r[4]),null==e.footer&&(e.footer=r[5])}}function sc(e,t,r){var a=r.revssf[null!=t.z?t.z:"General"],n=60,s=e.length;if(null==a&&r.ssf)for(;n<392;++n)if(null==r.ssf[n]){Ee(t.z,n),r.ssf[n]=t.z,r.revssf[t.z]=a=n;break}for(n=0;n!=s;++n)if(e[n].numFmtId===a)return n;return e[s]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1},s}function ic(e,t,r,a,n,s){try{a.cellNF&&(e.z=z[t])}catch(e){if(a.WTF)throw e}if("z"!==e.t||a.cellStyles){if("d"===e.t&&"string"==typeof e.v&&(e.v=$e(e.v)),(!a||!1!==a.cellText)&&"z"!==e.t)try{if(null==z[t]&&Ee(_e[t]||"General",t),"e"===e.t)e.w=e.w||Ha[e.v];else if(0===t)if("n"===e.t)(0|e.v)===e.v?e.w=e.v.toString(10):e.w=Q(e.v);else if("d"===e.t){var i=Ue(e.v);e.w=(0|i)===i?i.toString(10):Q(i)}else{if(void 0===e.v)return"";e.w=ee(e.v,ec)}else"d"===e.t?e.w=Te(t,Ue(e.v),ec):e.w=Te(t,e.v,ec)}catch(e){if(a.WTF)throw e}if(a.cellStyles&&null!=r)try{e.s=s.Fills[r],e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb&&(e.s.fgColor.rgb=ci(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0),a.WTF&&(e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb)),e.s.bgColor&&e.s.bgColor.theme&&(e.s.bgColor.rgb=ci(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0),a.WTF&&(e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb))}catch(e){if(a.WTF&&s.Fills)throw e}}}function oc(e,t,r){if(e&&e["!ref"]){var a=Zr(e["!ref"]);if(a.e.c/g,lc=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/,fc=/<(?:\w:)?hyperlink [^>]*>/gm,hc=/"(\w*:\w*)"/,uc=/<(?:\w:)?col\b[^>]*[\/]?>/g,dc=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g,pc=/<(?:\w:)?pageMargins[^>]*\/>/g,mc=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/,gc=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/,vc=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function bc(e,t,r,a){var n=wt(e);r.Sheets[a]||(r.Sheets[a]={}),n.codeName&&(r.Sheets[a].CodeName=yt(Lt(n.codeName)))}var wc=["objects","scenarios","selectLockedCells","selectUnlockedCells"],Tc=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"],Ec=/<(?:\w:)?sheetView(?:[^>a-z][^>]*)?\/?>/;function Sc(e,t,r,a){if(e.c&&r["!comments"].push([t,e.c]),void 0===e.v&&"string"!=typeof e.f||"z"===e.t&&!e.f)return"";var n="",s=e.t,i=e.v;if("z"!==e.t)switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Ha[e.v];break;case"d":a&&a.cellDates?n=$e(e.v,-1).toISOString():((e=Ke(e)).t="n",n=""+(e.v=Ue($e(e.v)))),void 0===e.z&&(e.z=z[14]);break;default:n=e.v}var o=jt("v",At(n)),c={r:t},l=sc(a.cellXfs,e,a);switch(0!==l&&(c.s=l),e.t){case"n":case"z":break;case"d":c.t="d";break;case"b":c.t="b";break;case"e":c.t="e";break;default:if(null==e.v){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){o=jt("v",""+rc(a.Strings,e.v,a.revStrings)),c.t="s";break}c.t="str"}if(e.t!=s&&(e.t=s,e.v=i),"string"==typeof e.f&&e.f){var f=e.F&&e.F.slice(0,t.length)==t?{t:"array",ref:e.F}:null;o=$t("f",At(e.f),f)+(null!=e.v?o:"")}return e.l&&r["!links"].push([t,e.l]),e.D&&(c.cm=1),$t("c",o,c)}var yc=function(){var e=/<(?:\w+:)?c[ \/>]/,t=/<\/(?:\w+:)?row>/,r=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/,n=/ref=["']([^"']*)["']/,s=Ut("v"),i=Ut("f");return function(o,c,l,f,h,u){for(var d,p,m,g,v,b=0,w="",T=[],E=[],S=0,y=0,k=0,_="",A=0,x=0,C=0,O=0,R=Array.isArray(u.CellXf),I=[],N=[],D=Array.isArray(c),F=[],P={},L=!1,M=!!l.sheetStubs,U=o.split(t),B=0,W=U.length;B!=W;++B){var H=(w=U[B].trim()).length;if(0!==H){var V=0;e:for(b=0;b":if("/"!=w[b-1]){++b;break e}if(l&&l.cellStyles){if(A=null!=(p=wt(w.slice(V,b),!0)).r?parseInt(p.r,10):A+1,x=-1,l.sheetRows&&l.sheetRows=b)break;if(A=null!=(p=wt(w.slice(V,b),!0)).r?parseInt(p.r,10):A+1,x=-1,!(l.sheetRows&&l.sheetRowsA-1&&(f.s.r=A-1),f.e.r":"")+w,null!=E&&2===E.length){for(S=0,_=E[1],y=0;y!=_.length&&!((k=_.charCodeAt(y)-64)<1||k>26);++y)S=26*S+k;x=--S}else++x;for(y=0;y!=w.length&&62!==w.charCodeAt(y);++y);if(++y,(p=wt(w.slice(0,y),!0)).r||(p.r=Kr({r:A-1,c:x})),d={t:""},null!=(E=(_=w.slice(y)).match(s))&&""!==E[1]&&(d.v=yt(E[1])),l.cellFormula){if(null!=(E=_.match(i))&&""!==E[1]){if(d.f=yt(Lt(E[1])).replace(/\r\n/g,"\n"),l.xlfn||(d.f=fo(d.f)),E[0].indexOf('t="array"')>-1)d.F=(_.match(n)||[])[1],d.F.indexOf(":")>-1&&I.push([Zr(d.F),d.F]);else if(E[0].indexOf('t="shared"')>-1){g=wt(E[0]);var j=yt(Lt(E[1]));l.xlfn||(j=fo(j)),N[parseInt(g.si,10)]=[g,j,p.r]}}else(E=_.match(/]*\/>/))&&N[(g=wt(E[0])).si]&&(d.f=lo(N[g.si][1],N[g.si][2],p.r));var X=Yr(p.r);for(y=0;y=I[y][0].s.r&&X.r<=I[y][0].e.r&&X.c>=I[y][0].s.c&&X.c<=I[y][0].e.c&&(d.F=I[y][1])}if(null==p.t&&void 0===d.v)if(d.f||d.F)d.v=0,d.t="n";else{if(!M)continue;d.t="z"}else d.t=p.t||"n";switch(f.s.c>x&&(f.s.c=x),f.e.c0&&(c["!rows"]=F)}}();function kc(e,t,r,a){var n,s=[dt,$t("worksheet",null,{xmlns:Zt[0],"xmlns:r":qt.r})],i=r.SheetNames[e],o="",c=r.Sheets[i];null==c&&(c={});var l=c["!ref"]||"A1",f=Zr(l);if(f.e.c>16383||f.e.r>1048575){if(t.WTF)throw new Error("Range "+l+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383),f.e.r=Math.min(f.e.c,1048575),l=qr(f)}a||(a={}),c["!comments"]=[];var h=[];!function(e,t,r,a,n){var s=!1,i={},o=null;if("xlsx"!==a.bookType&&t.vbaraw){var c=t.SheetNames[r];try{t.Workbook&&(c=t.Workbook.Sheets[r].CodeName||c)}catch(e){}s=!0,i.codeName=Mt(At(c))}if(e&&e["!outline"]){var l={summaryBelow:1,summaryRight:1};e["!outline"].above&&(l.summaryBelow=0),e["!outline"].left&&(l.summaryRight=0),o=(o||"")+$t("outlinePr",null,l)}(s||o)&&(n[n.length]=$t("sheetPr",o,i))}(c,r,e,t,s),s[s.length]=$t("dimension",null,{ref:l}),s[s.length]=function(e,t,r,a){var n={workbookViewId:"0"};return(((a||{}).Workbook||{}).Views||[])[0]&&(n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0"),$t("sheetViews",$t("sheetView",null,n),{})}(0,0,0,r),t.sheetFormat&&(s[s.length]=$t("sheetFormatPr",null,{defaultRowHeight:t.sheetFormat.defaultRowHeight||"16",baseColWidth:t.sheetFormat.baseColWidth||"10",outlineLevelRow:t.sheetFormat.outlineLevelRow||"7"})),null!=c["!cols"]&&c["!cols"].length>0&&(s[s.length]=function(e,t){for(var r,a=[""],n=0;n!=t.length;++n)(r=t[n])&&(a[a.length]=$t("col",null,ac(n,r)));return a[a.length]="",a.join("")}(0,c["!cols"])),s[n=s.length]="",c["!links"]=[],null!=c["!ref"]&&(o=function(e,t){var r,a,n=[],s=[],i=Zr(e["!ref"]),o="",c="",l=[],f=0,h=0,u=e["!rows"],d=Array.isArray(e),p={r:c},m=-1;for(h=i.s.c;h<=i.e.c;++h)l[h]=$r(h);for(f=i.s.r;f<=i.e.r;++f){for(s=[],c=jr(f),h=i.s.c;h<=i.e.c;++h){r=l[h]+c;var g=d?(e[f]||[])[h]:e[r];void 0!==g&&null!=(o=Sc(g,r,e,t))&&s.push(o)}(s.length>0||u&&u[f])&&(p={r:c},u&&u[f]&&((a=u[f]).hidden&&(p.hidden=1),m=-1,a.hpx?m=Ti(a.hpx):a.hpt&&(m=a.hpt),m>-1&&(p.ht=m,p.customHeight=1),a.level&&(p.outlineLevel=a.level)),n[n.length]=$t("row",s.join(""),p))}if(u)for(;f-1&&(p.ht=m,p.customHeight=1),a.level&&(p.outlineLevel=a.level),n[n.length]=$t("row","",p));return n.join("")}(c,t),o.length>0&&(s[s.length]=o)),s.length>n+1&&(s[s.length]="",s[n]=s[n].replace("/>",">")),c["!protect"]&&(s[s.length]=function(e){var t={sheet:1};return wc.forEach(function(r){null!=e[r]&&e[r]&&(t[r]="1")}),Tc.forEach(function(r){null==e[r]||e[r]||(t[r]="0")}),e.password&&(t.password=ni(e.password).toString(16).toUpperCase()),$t("sheetProtection",null,t)}(c["!protect"])),null!=c["!autofilter"]&&(s[s.length]=function(e,t,r,a){var n="string"==typeof e.ref?e.ref:qr(e.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var s=r.Workbook.Names,i=Jr(n);i.s.r==i.e.r&&(i.e.r=Jr(t["!ref"]).e.r,n=qr(i));for(var o=0;o0&&(s[s.length]=function(e){if(0===e.length)return"";for(var t='',r=0;r!=e.length;++r)t+='';return t+""}(c["!merges"]));var u,d,p=-1,m=-1;return c["!links"].length>0&&(s[s.length]="",c["!links"].forEach(function(e){e[1].Target&&(u={ref:e[0]},"#"!=e[1].Target.charAt(0)&&(m=Ja(a,-1,At(e[1].Target).replace(/#.*$/,""),Xa.HLINK),u["r:id"]="rId"+m),(p=e[1].Target.indexOf("#"))>-1&&(u.location=At(e[1].Target.slice(p+1))),e[1].Tooltip&&(u.tooltip=At(e[1].Tooltip)),s[s.length]=$t("hyperlink",null,u))}),s[s.length]=""),delete c["!links"],null!=c["!margins"]&&(s[s.length]=(nc(d=c["!margins"]),$t("pageMargins",null,d))),t&&!t.ignoreEC&&null!=t.ignoreEC||(s[s.length]=jt("ignoredErrors",$t("ignoredError",null,{numberStoredAsText:1,sqref:l}))),h.length>0&&(m=Ja(a,-1,"../drawings/drawing"+(e+1)+".xml",Xa.DRAW),s[s.length]=$t("drawing",null,{"r:id":"rId"+m}),c["!drawing"]=h),c["!comments"].length>0&&(m=Ja(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",Xa.VML),s[s.length]=$t("legacyDrawing",null,{"r:id":"rId"+m}),c["!legacy"]=m),s.length>1&&(s[s.length]="",s[1]=s[1].replace("/>",">")),s.join("")}function _c(e,t,r,a){var n=function(e,t,r){var a=Lr(145),n=(r["!rows"]||[])[e]||{};a.write_shift(4,e),a.write_shift(4,0);var s=320;n.hpx?s=20*Ti(n.hpx):n.hpt&&(s=20*n.hpt),a.write_shift(2,s),a.write_shift(1,0);var i=0;n.level&&(i|=n.level),n.hidden&&(i|=16),(n.hpx||n.hpt)&&(i|=32),a.write_shift(1,i),a.write_shift(1,0);var o=0,c=a.l;a.l+=4;for(var l={r:e,c:0},f=0;f<16;++f)if(!(t.s.c>f+1<<10||t.e.ca.l?a.slice(0,a.l):a}(a,r,t);(n.length>17||(t["!rows"]||[])[a])&&Br(e,0,n)}var Ac=ya,xc=ka;function Cc(e){return[ha(e),_a(e),"n"]}var Oc=ya,Rc=ka,Ic=["left","right","top","bottom","header","footer"];function Nc(e,t,r,a,n,s,i){if(void 0===t.v)return!1;var o="";switch(t.t){case"b":o=t.v?"1":"0";break;case"d":(t=Ke(t)).z=t.z||z[14],t.v=Ue($e(t.v)),t.t="n";break;case"n":case"e":o=""+t.v;break;default:o=t.v}var c={r,c:a};switch(c.s=sc(n.cellXfs,t,n),t.l&&s["!links"].push([Kr(c),t.l]),t.c&&s["!comments"].push([Kr(c),t.c]),t.t){case"s":case"str":return n.bookSST?(o=rc(n.Strings,t.v,n.revStrings),c.t="s",c.v=o,i?Br(e,18,function(e,t,r){return null==r&&(r=Lr(8)),ua(t,r),r.write_shift(4,t.v),r}(0,c)):Br(e,7,function(e,t,r){return null==r&&(r=Lr(12)),fa(t,r),r.write_shift(4,t.v),r}(0,c))):(c.t="str",i?Br(e,17,function(e,t,r){return null==r&&(r=Lr(8+4*e.v.length)),ua(t,r),sa(e.v,r),r.length>r.l?r.slice(0,r.l):r}(t,c)):Br(e,6,function(e,t,r){return null==r&&(r=Lr(12+4*e.v.length)),fa(t,r),sa(e.v,r),r.length>r.l?r.slice(0,r.l):r}(t,c))),!0;case"n":return t.v==(0|t.v)&&t.v>-1e3&&t.v<1e3?i?Br(e,13,function(e,t,r){return null==r&&(r=Lr(8)),ua(t,r),Ea(e.v,r),r}(t,c)):Br(e,2,function(e,t,r){return null==r&&(r=Lr(12)),fa(t,r),Ea(e.v,r),r}(t,c)):i?Br(e,16,function(e,t,r){return null==r&&(r=Lr(12)),ua(t,r),Aa(e.v,r),r}(t,c)):Br(e,5,function(e,t,r){return null==r&&(r=Lr(16)),fa(t,r),Aa(e.v,r),r}(t,c)),!0;case"b":return c.t="b",i?Br(e,15,function(e,t,r){return null==r&&(r=Lr(5)),ua(t,r),r.write_shift(1,e.v?1:0),r}(t,c)):Br(e,4,function(e,t,r){return null==r&&(r=Lr(9)),fa(t,r),r.write_shift(1,e.v?1:0),r}(t,c)),!0;case"e":return c.t="e",i?Br(e,14,function(e,t,r){return null==r&&(r=Lr(8)),ua(t,r),r.write_shift(1,e.v),r.write_shift(2,0),r.write_shift(1,0),r}(t,c)):Br(e,3,function(e,t,r){return null==r&&(r=Lr(9)),fa(t,r),r.write_shift(1,e.v),r}(t,c)),!0}return i?Br(e,12,function(e,t,r){return null==r&&(r=Lr(4)),ua(t,r)}(0,c)):Br(e,1,function(e,t,r){return null==r&&(r=Lr(8)),fa(t,r)}(0,c)),!0}function Dc(e,t,r,a){var n=Ur(),s=r.SheetNames[e],i=r.Sheets[s]||{},o=s;try{r&&r.Workbook&&(o=r.Workbook.Sheets[e].CodeName||o)}catch(e){}var c,l,f=Zr(i["!ref"]||"A1");if(f.e.c>16383||f.e.r>1048575){if(t.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383),f.e.r=Math.min(f.e.c,1048575)}return i["!links"]=[],i["!comments"]=[],Br(n,129),(r.vbaraw||i["!outline"])&&Br(n,147,function(e,t,r){null==r&&(r=Lr(84+4*e.length));var a=192;t&&(t.above&&(a&=-65),t.left&&(a&=-129)),r.write_shift(1,a);for(var n=1;n<3;++n)r.write_shift(1,0);return xa({auto:1},r),r.write_shift(-4,-1),r.write_shift(-4,-1),pa(e,r),r.slice(0,r.l)}(o,i["!outline"])),Br(n,148,xc(f)),function(e,t,r){Br(e,133),Br(e,137,function(e,t,r){null==r&&(r=Lr(30));var a=924;return(((t||{}).Views||[])[0]||{}).RTL&&(a|=32),r.write_shift(2,a),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(2,0),r.write_shift(2,100),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(4,0),r}(0,r)),Br(e,138),Br(e,134)}(n,0,r.Workbook),function(e,t){t&&t["!cols"]&&(Br(e,390),t["!cols"].forEach(function(t,r){t&&Br(e,60,function(e,t,r){null==r&&(r=Lr(18));var a=ac(e,t);r.write_shift(-4,e),r.write_shift(-4,e),r.write_shift(4,256*(a.width||10)),r.write_shift(4,0);var n=0;return t.hidden&&(n|=1),"number"==typeof a.width&&(n|=2),t.level&&(n|=t.level<<8),r.write_shift(2,n),r}(r,t))}),Br(e,391))}(n,i),function(e,t,r,a){var n,s=Zr(t["!ref"]||"A1"),i="",o=[];Br(e,145);var c=Array.isArray(t),l=s.e.r;t["!rows"]&&(l=Math.max(s.e.r,t["!rows"].length-1));for(var f=s.s.r;f<=l;++f){i=jr(f),_c(e,t,s,f);var h=!1;if(f<=s.e.r)for(var u=s.s.c;u<=s.e.c;++u){f===s.s.r&&(o[u]=$r(u)),n=o[u]+i;var d=c?(t[f]||[])[u]:t[n];h=!!d&&Nc(e,d,f,u,a,t,h)}}Br(e,146)}(n,i,0,t),function(e,t){var r,a;t["!protect"]&&Br(e,535,(r=t["!protect"],null==a&&(a=Lr(66)),a.write_shift(2,r.password?ni(r.password):0),a.write_shift(4,1),[["objects",!1],["scenarios",!1],["formatCells",!0],["formatColumns",!0],["formatRows",!0],["insertColumns",!0],["insertRows",!0],["insertHyperlinks",!0],["deleteColumns",!0],["deleteRows",!0],["selectLockedCells",!1],["sort",!0],["autoFilter",!0],["pivotTables",!0],["selectUnlockedCells",!1]].forEach(function(e){e[1]?a.write_shift(4,null==r[e[0]]||r[e[0]]?0:1):a.write_shift(4,null!=r[e[0]]&&r[e[0]]?0:1)}),a))}(n,i),function(e,t,r,a){if(t["!autofilter"]){var n=t["!autofilter"],s="string"==typeof n.ref?n.ref:qr(n.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var i=r.Workbook.Names,o=Jr(s);o.s.r==o.e.r&&(o.e.r=Jr(t["!ref"]).e.r,s=qr(o));for(var c=0;c0){var n=Ja(a,-1,"../drawings/vmlDrawing"+(r+1)+".vml",Xa.VML);Br(e,551,wa("rId"+n)),t["!legacy"]=n}}(n,i,e,a),Br(n,130),n.end()}var Fc=[["allowRefreshQuery",!1,"bool"],["autoCompressPictures",!0,"bool"],["backupFile",!1,"bool"],["checkCompatibility",!1,"bool"],["CodeName",""],["date1904",!1,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",!1,"bool"],["hidePivotFieldList",!1,"bool"],["promptedSolutions",!1,"bool"],["publishItems",!1,"bool"],["refreshAllConnections",!1,"bool"],["saveExternalLinkValues",!0,"bool"],["showBorderUnselectedTables",!0,"bool"],["showInkAnnotation",!0,"bool"],["showObjects","all"],["showPivotChartFilter",!1,"bool"],["updateLinks","userSet"]],Pc=[["activeTab",0,"int"],["autoFilterDateGrouping",!0,"bool"],["firstSheet",0,"int"],["minimized",!1,"bool"],["showHorizontalScroll",!0,"bool"],["showSheetTabs",!0,"bool"],["showVerticalScroll",!0,"bool"],["tabRatio",600,"int"],["visibility","visible"]],Lc=[],Mc=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Uc(e,t){for(var r=0;r!=e.length;++r)for(var a=e[r],n=0;n!=t.length;++n){var s=t[n];if(null==a[s[0]])a[s[0]]=s[1];else switch(s[2]){case"bool":"string"==typeof a[s[0]]&&(a[s[0]]=It(a[s[0]]));break;case"int":"string"==typeof a[s[0]]&&(a[s[0]]=parseInt(a[s[0]],10))}}}function Bc(e,t){for(var r=0;r!=t.length;++r){var a=t[r];if(null==e[a[0]])e[a[0]]=a[1];else switch(a[2]){case"bool":"string"==typeof e[a[0]]&&(e[a[0]]=It(e[a[0]]));break;case"int":"string"==typeof e[a[0]]&&(e[a[0]]=parseInt(e[a[0]],10))}}}function Wc(e){Bc(e.WBProps,Fc),Bc(e.CalcPr,Mc),Uc(e.WBView,Pc),Uc(e.Sheets,Lc),ec.date1904=It(e.WBProps.date1904)}var Hc="][*?/\\".split("");function zc(e,t){if(e.length>31){if(t)return!1;throw new Error("Sheet names cannot exceed 31 chars")}var r=!0;return Hc.forEach(function(a){if(-1!=e.indexOf(a)){if(!t)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");r=!1}}),r}function Vc(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var t,r,a,n=e.Workbook&&e.Workbook.Sheets||[];t=e.SheetNames,r=n,a=!!e.vbaraw,t.forEach(function(e,n){zc(e);for(var s=0;s22)throw new Error("Bad Code Name: Worksheet"+i)}});for(var s=0;s0,a={codeName:"ThisWorkbook"};e.Workbook&&e.Workbook.WBProps&&(Fc.forEach(function(t){null!=e.Workbook.WBProps[t[0]]&&e.Workbook.WBProps[t[0]]!=t[1]&&(a[t[0]]=e.Workbook.WBProps[t[0]])}),e.Workbook.WBProps.CodeName&&(a.codeName=e.Workbook.WBProps.CodeName,delete a.CodeName)),t[t.length]=$t("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[],s=0;if(n&&n[0]&&n[0].Hidden){for(t[t.length]="",s=0;s!=e.SheetNames.length&&n[s]&&n[s].Hidden;++s);s==e.SheetNames.length&&(s=0),t[t.length]='',t[t.length]=""}for(t[t.length]="",s=0;s!=e.SheetNames.length;++s){var i={name:At(e.SheetNames[s].slice(0,31))};if(i.sheetId=""+(s+1),i["r:id"]="rId"+(s+1),n[s])switch(n[s].Hidden){case 1:i.state="hidden";break;case 2:i.state="veryHidden"}t[t.length]=$t("sheet",null,i)}return t[t.length]="",r&&(t[t.length]="",e.Workbook&&e.Workbook.Names&&e.Workbook.Names.forEach(function(e){var r={name:e.Name};e.Comment&&(r.comment=e.Comment),null!=e.Sheet&&(r.localSheetId=""+e.Sheet),e.Hidden&&(r.hidden="1"),e.Ref&&(t[t.length]=$t("definedName",At(e.Ref),r))}),t[t.length]=""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Xc(e,t){return t||(t=Lr(127)),t.write_shift(4,e.Hidden),t.write_shift(4,e.iTabID),wa(e.strRelID,t),sa(e.name.slice(0,31),t),t.length>t.l?t.slice(0,t.l):t}function $c(e,t){var r={};return e.read_shift(4),r.ArchID=e.read_shift(4),e.l+=t-8,r}function Yc(e,t){var r=Ur();return Br(r,131),Br(r,128,function(e,t){t||(t=Lr(127));for(var r=0;4!=r;++r)t.write_shift(4,0);return sa("SheetJS",t),sa(a.version,t),sa(a.version,t),sa("7262",t),t.length>t.l?t.slice(0,t.l):t}()),Br(r,153,function(e,t){t||(t=Lr(72));var r=0;return e&&e.filterPrivacy&&(r|=8),t.write_shift(4,r),t.write_shift(4,0),pa(e&&e.CodeName||"ThisWorkbook",t),t.slice(0,t.l)}(e.Workbook&&e.Workbook.WBProps||null)),function(e,t){if(t.Workbook&&t.Workbook.Sheets){for(var r,a,n=t.Workbook.Sheets,s=0,i=-1,o=-1;si||(Br(e,135),Br(e,158,(r=i,a||(a=Lr(29)),a.write_shift(-4,0),a.write_shift(-4,460),a.write_shift(4,28800),a.write_shift(4,17600),a.write_shift(4,500),a.write_shift(4,r),a.write_shift(4,r),a.write_shift(1,120),a.length>a.l?a.slice(0,a.l):a)),Br(e,136))}}(r,e),function(e,t){Br(e,143);for(var r=0;r!=t.SheetNames.length;++r)Br(e,156,Xc({Hidden:t.Workbook&&t.Workbook.Sheets&&t.Workbook.Sheets[r]&&t.Workbook.Sheets[r].Hidden||0,iTabID:r+1,strRelID:"rId"+(r+1),name:t.SheetNames[r]}));Br(e,144)}(r,e),Br(r,132),r.end()}function Kc(e,t,r,a,n,s,i,o){return".bin"===t.slice(-4)?function(e,t,r,a,n,s,i){if(!e)return e;var o=t||{};a||(a={"!id":{}}),null!=b&&null==o.dense&&(o.dense=b);var c,l,f,h,u,d,p,m,g,v,w=o.dense?[]:{},T={s:{r:2e6,c:2e6},e:{r:0,c:0}},E=[],S=!1,y=!1,k=[];o.biff=12,o["!row"]=0;var _=0,A=!1,x=[],C={},O=o.supbooks||n.supbooks||[[]];if(O.sharedf=C,O.arrayf=x,O.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name}),!o.supbooks&&(o.supbooks=O,n.Names))for(var R=0;R=R[0].s.r&&l.r<=R[0].e.r&&d>=R[0].s.c&&d<=R[0].e.c&&(f.F=qr(R[0]),A=!0)}!A&&e.length>3&&(f.f=e[3])}if(T.s.r>l.r&&(T.s.r=l.r),T.s.c>d&&(T.s.c=d),T.e.rl.r&&(T.s.r=l.r),T.s.c>d&&(T.s.c=d),T.e.r=e.s;)D[e.e--]={width:e.w/256,hidden:!!(1&e.flags),level:e.level},P||(P=!0,vi(e.w/256)),bi(D[e.e+1]);break;case 161:w["!autofilter"]={ref:qr(e)};break;case 476:w["!margins"]=e;break;case 147:n.Sheets[r]||(n.Sheets[r]={}),e.name&&(n.Sheets[r].CodeName=e.name),(e.above||e.left)&&(w["!outline"]={above:e.above,left:e.left});break;case 137:n.Views||(n.Views=[{}]),n.Views[0]||(n.Views[0]={}),e.RTL&&(n.Views[0].RTL=!0);break;case 485:case 64:case 1053:case 151:case 152:case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 507:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 3072:case 50:case 2070:case 1045:break;case 35:S=!0;break;case 36:S=!1;break;case 37:E.push(b),S=!0;break;case 38:E.pop(),S=!1;break;default:if(t.T);else if(!S||o.WTF)throw new Error("Unexpected record 0x"+b.toString(16))}},o),delete o.supbooks,delete o["!row"],!w["!ref"]&&(T.s.r<2e6||c&&(c.e.r>0||c.e.c>0||c.s.r>0||c.s.c>0))&&(w["!ref"]=qr(c||T)),o.sheetRows&&w["!ref"]){var L=Zr(w["!ref"]);o.sheetRows<=+L.e.r&&(L.e.r=o.sheetRows-1,L.e.r>T.e.r&&(L.e.r=T.e.r),L.e.rT.e.c&&(L.e.c=T.e.c),L.e.c0&&(w["!merges"]=k),D.length>0&&(w["!cols"]=D),F.length>0&&(w["!rows"]=F),w}(e,a,r,n,s,i,o):function(e,t,r,a,n,s,i){if(!e)return e;a||(a={"!id":{}}),null!=b&&null==t.dense&&(t.dense=b);var o=t.dense?[]:{},c={s:{r:2e6,c:2e6},e:{r:0,c:0}},l="",f="",h=e.match(lc);h?(l=e.slice(0,h.index),f=e.slice(h.index+h[0].length)):l=f=e;var u=l.match(mc);u?bc(u[0],0,n,r):(u=l.match(gc))&&function(e,t,r,a,n){bc(e.slice(0,e.indexOf(">")),0,a,n)}(u[0],u[1],0,n,r);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var p=l.slice(d,d+50).match(hc);p&&function(e,t){var r=Zr(t);r.s.r<=r.e.r&&r.s.c<=r.e.c&&r.s.r>=0&&r.s.c>=0&&(e["!ref"]=qr(r))}(o,p[1])}var m=l.match(vc);m&&m[1]&&function(e,t){t.Views||(t.Views=[{}]),(e.match(Ec)||[]).forEach(function(e,r){var a=wt(e);t.Views[r]||(t.Views[r]={}),+a.zoomScale&&(t.Views[r].zoom=+a.zoomScale),It(a.rightToLeft)&&(t.Views[r].RTL=!0)})}(m[1],n);var g=[];if(t.cellStyles){var v=l.match(uc);v&&function(e,t){for(var r=!1,a=0;a!=t.length;++a){var n=wt(t[a],!0);n.hidden&&(n.hidden=It(n.hidden));var s=parseInt(n.min,10)-1,i=parseInt(n.max,10)-1;for(n.outlineLevel&&(n.level=+n.outlineLevel||0),delete n.min,delete n.max,n.width=+n.width,!r&&n.width&&(r=!0,vi(n.width)),bi(n);s<=i;)e[s++]=Ke(n)}}(g,v)}h&&yc(h[1],o,t,c,s,i);var w=f.match(dc);w&&(o["!autofilter"]=function(e){return{ref:(e.match(/ref="([^"]*)"/)||[])[1]}}(w[0]));var T=[],E=f.match(cc);if(E)for(d=0;d!=E.length;++d)T[d]=Zr(E[d].slice(E[d].indexOf('"')+1));var S=f.match(fc);S&&function(e,t,r){for(var a=Array.isArray(e),n=0;n!=t.length;++n){var s=wt(Lt(t[n]),!0);if(!s.ref)return;var i=((r||{})["!id"]||[])[s.id];i?(s.Target=i.Target,s.location&&(s.Target+="#"+yt(s.location))):(s.Target="#"+yt(s.location),i={Target:s.Target,TargetMode:"Internal"}),s.Rel=i,s.tooltip&&(s.Tooltip=s.tooltip,delete s.tooltip);for(var o=Zr(s.ref),c=o.s.r;c<=o.e.r;++c)for(var l=o.s.c;l<=o.e.c;++l){var f=Kr({c:l,r:c});a?(e[c]||(e[c]=[]),e[c][l]||(e[c][l]={t:"z",v:void 0}),e[c][l].l=s):(e[f]||(e[f]={t:"z",v:void 0}),e[f].l=s)}}}(o,S,a);var y,k,_=f.match(pc);if(_&&(o["!margins"]=(y=wt(_[0]),k={},["left","right","top","bottom","header","footer"].forEach(function(e){y[e]&&(k[e]=parseFloat(y[e]))}),k)),!o["!ref"]&&c.e.c>=c.s.c&&c.e.r>=c.s.r&&(o["!ref"]=qr(c)),t.sheetRows>0&&o["!ref"]){var A=Zr(o["!ref"]);t.sheetRows<=+A.e.r&&(A.e.r=t.sheetRows-1,A.e.r>c.e.r&&(A.e.r=c.e.r),A.e.rc.e.c&&(A.e.c=c.e.c),A.e.c0&&(o["!cols"]=g),T.length>0&&(o["!merges"]=T),o}(e,a,r,n,s,i,o)}function Jc(e,t,r,a,n){return(".bin"===t.slice(-4)?Dc:kc)(e,r,a,n)}function qc(e,t,r){return(".bin"===t.slice(-4)?ro:Qi)(e,r)}var Zc,Qc=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g,el=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function tl(e,t){var r=e.split(/\s+/),a=[];if(t||(a[0]=r[0]),1===r.length)return a;var n,s,i,o=e.match(Qc);if(o)for(i=0;i!=o.length;++i)-1===(s=(n=o[i].match(el))[1].indexOf(":"))?a[n[1]]=n[2].slice(1,n[2].length-1):a["xmlns:"===n[1].slice(0,6)?"xmlns"+n[1].slice(6):n[1].slice(s+1)]=n[2].slice(1,n[2].length-1);return a}function rl(e){var t={};if(1===e.split(/\s+/).length)return t;var r,a,n,s=e.match(Qc);if(s)for(n=0;n!=s.length;++n)-1===(a=(r=s[n].match(el))[1].indexOf(":"))?t[r[1]]=r[2].slice(1,r[2].length-1):t["xmlns:"===r[1].slice(0,6)?"xmlns"+r[1].slice(6):r[1].slice(a+1)]=r[2].slice(1,r[2].length-1);return t}function al(e,t,r,a){var n=a;switch((r[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=It(a);break;case"i2":case"int":n=parseInt(a,10);break;case"r4":case"float":n=parseFloat(a);break;case"date":case"dateTime.tz":n=$e(a);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw new Error("bad custprop:"+r[0])}e[yt(t)]=n}function nl(e,t,r){if(r.cellStyles&&t.Interior){var a=t.Interior;a.Pattern&&(a.patternType=Si[a.Pattern]||a.Pattern)}e[t.ID]=t}function sl(e,t,r,a,n,s,i,o,c,l){var f="General",h=a.StyleID,u={};l=l||{};var d=[],p=0;for(void 0===h&&o&&(h=o.StyleID),void 0===h&&i&&(h=i.StyleID);void 0!==s[h]&&(s[h].nf&&(f=s[h].nf),s[h].Interior&&d.push(s[h].Interior),s[h].Parent);)h=s[h].Parent;switch(r.Type){case"Boolean":a.t="b",a.v=It(e);break;case"String":a.t="s",a.r=Rt(yt(e)),a.v=e.indexOf("<")>-1?yt(t||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":"Z"!=e.slice(-1)&&(e+="Z"),a.v=($e(e)-new Date(Date.UTC(1899,11,30)))/864e5,a.v!=a.v?a.v=yt(e):a.v<60&&(a.v=a.v-1),f&&"General"!=f||(f="yyyy-mm-dd");case"Number":void 0===a.v&&(a.v=+e),a.t||(a.t="n");break;case"Error":a.t="e",a.v=za[e],!1!==l.cellText&&(a.w=e);break;default:""==e&&""==t?a.t="z":(a.t="s",a.v=Rt(t||e))}if(function(e,t,r){if("z"!==e.t){if(!r||!1!==r.cellText)try{"e"===e.t?e.w=e.w||Ha[e.v]:"General"===t?"n"===e.t?(0|e.v)===e.v?e.w=e.v.toString(10):e.w=Q(e.v):e.w=ee(e.v):e.w=(a=t||"General",n=e.v,"General"===(s=Zc[a]||yt(a))?ee(n):Te(s,n))}catch(e){if(r.WTF)throw e}var a,n,s;try{var i=Zc[t]||t||"General";if(r.cellNF&&(e.z=i),r.cellDates&&"n"==e.t&&ve(i)){var o=X(e.v);o&&(e.t="d",e.v=new Date(o.y,o.m-1,o.d,o.H,o.M,o.S,o.u))}}catch(e){if(r.WTF)throw e}}}(a,f,l),!1!==l.cellFormula)if(a.Formula){var m=yt(a.Formula);61==m.charCodeAt(0)&&(m=m.slice(1)),a.f=so(m,n),delete a.Formula,"RC"==a.ArrayRange?a.F=so("RC:RC",n):a.ArrayRange&&(a.F=so(a.ArrayRange,n),c.push([Zr(a.F),a.F]))}else for(p=0;p=c[p][0].s.r&&n.r<=c[p][0].e.r&&n.c>=c[p][0].s.c&&n.c<=c[p][0].e.c&&(a.F=c[p][1]);l.cellStyles&&(d.forEach(function(e){!u.patternType&&e.patternType&&(u.patternType=e.patternType)}),a.s=u),void 0!==a.StyleID&&(a.ixfe=a.StyleID)}function il(e){e.t=e.v||"",e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),e.v=e.w=e.ixfe=void 0}function ol(e,t){var r=t||{};ye();var a=p(Kt(e));"binary"!=r.type&&"array"!=r.type&&"base64"!=r.type||(a=void 0!==d?d.utils.decode(65001,h(a)):Lt(a));var n,s=a.slice(0,1024).toLowerCase(),i=!1;if((1023&(s=s.replace(/".*?"/g,"")).indexOf(">"))>Math.min(1023&s.indexOf(","),1023&s.indexOf(";"))){var o=Ke(r);return o.type="string",Ps.to_workbook(a,o)}if(-1==s.indexOf("=0&&(i=!0)}),i)return function(e,t){var r=e.match(/[\s\S]*?<\/table>/gi);if(!r||0==r.length)throw new Error("Invalid HTML: could not find ");if(1==r.length)return ea(Ol(r[0],t),t);var a={SheetNames:[],Sheets:{}};return r.forEach(function(e,r){Kf(a,Ol(e,t),"Sheet"+(r+1))}),a}(a,r);Zc={"General Number":"General","General Date":z[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":z[15],"Short Date":z[14],"Long Time":z[19],"Medium Time":z[18],"Short Time":z[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:z[2],Standard:z[4],Percent:z[10],Scientific:z[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var c,l=[];null!=b&&null==r.dense&&(r.dense=b);var f,u={},m=[],g=r.dense?[]:{},v="",w={},T={},E=tl(''),S=0,y=0,k=0,_={s:{r:2e6,c:2e6},e:{r:0,c:0}},A={},x={},C="",O=0,R=[],I={},N={},D=0,F=[],P=[],L={},M=[],U=!1,B=[],W=[],H={},V=0,G=0,j={Sheets:[],WBProps:{date1904:!1}},X={};Jt.lastIndex=0,a=a.replace(//gm,"");for(var $="";n=Jt.exec(a);)switch(n[3]=($=n[3]).toLowerCase()){case"data":if("data"==$){if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&l.push([n[3],!0]);break}if(l[l.length-1][1])break;"/"===n[1]?sl(a.slice(S,n.index),C,E,"comment"==l[l.length-1][0]?L:w,{c:y,r:k},A,M[y],T,B,r):(C="",E=tl(n[0]),S=n.index+n[0].length);break;case"cell":if("/"===n[1])if(P.length>0&&(w.c=P),(!r.sheetRows||r.sheetRows>k)&&void 0!==w.v&&(r.dense?(g[k]||(g[k]=[]),g[k][y]=w):g[$r(y)+jr(k)]=w),w.HRef&&(w.l={Target:yt(w.HRef)},w.HRefScreenTip&&(w.l.Tooltip=w.HRefScreenTip),delete w.HRef,delete w.HRefScreenTip),(w.MergeAcross||w.MergeDown)&&(V=y+(0|parseInt(w.MergeAcross,10)),G=k+(0|parseInt(w.MergeDown,10)),R.push({s:{c:y,r:k},e:{c:V,r:G}})),r.sheetStubs)if(w.MergeAcross||w.MergeDown){for(var Y=y;Y<=V;++Y)for(var K=k;K<=G;++K)(Y>y||K>k)&&(r.dense?(g[K]||(g[K]=[]),g[K][Y]={t:"z"}):g[$r(Y)+jr(K)]={t:"z"});y=V+1}else++y;else w.MergeAcross?y=V+1:++y;else(w=rl(n[0])).Index&&(y=+w.Index-1),y<_.s.c&&(_.s.c=y),y>_.e.c&&(_.e.c=y),"/>"===n[0].slice(-2)&&++y,P=[];break;case"row":"/"===n[1]||"/>"===n[0].slice(-2)?(k<_.s.r&&(_.s.r=k),k>_.e.r&&(_.e.r=k),"/>"===n[0].slice(-2)&&(T=tl(n[0])).Index&&(k=+T.Index-1),y=0,++k):((T=tl(n[0])).Index&&(k=+T.Index-1),H={},("0"==T.AutoFitHeight||T.Height)&&(H.hpx=parseInt(T.Height,10),H.hpt=Ti(H.hpx),W[k]=H),"1"==T.Hidden&&(H.hidden=!0,W[k]=H));break;case"worksheet":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"));m.push(v),_.s.r<=_.e.r&&_.s.c<=_.e.c&&(g["!ref"]=qr(_),r.sheetRows&&r.sheetRows<=_.e.r&&(g["!fullref"]=g["!ref"],_.e.r=r.sheetRows-1,g["!ref"]=qr(_))),R.length&&(g["!merges"]=R),M.length>0&&(g["!cols"]=M),W.length>0&&(g["!rows"]=W),u[v]=g}else _={s:{r:2e6,c:2e6},e:{r:0,c:0}},k=y=0,l.push([n[3],!1]),c=tl(n[0]),v=yt(c.Name),g=r.dense?[]:{},R=[],B=[],W=[],X={name:v,Hidden:0},j.Sheets.push(X);break;case"table":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else{if("/>"==n[0].slice(-2))break;l.push([n[3],!1]),M=[],U=!1}break;case"style":"/"===n[1]?nl(A,x,r):x=tl(n[0]);break;case"numberformat":x.nf=yt(tl(n[0]).Format||"General"),Zc[x.nf]&&(x.nf=Zc[x.nf]);for(var J=0;392!=J&&z[J]!=x.nf;++J);if(392==J)for(J=57;392!=J;++J)if(null==z[J]){Ee(x.nf,J);break}break;case"column":if("table"!==l[l.length-1][0])break;if((f=tl(n[0])).Hidden&&(f.hidden=!0,delete f.Hidden),f.Width&&(f.wpx=parseInt(f.Width,10)),!U&&f.wpx>10){U=!0,ui=li;for(var q=0;q0&&(ee.Sheet=j.Sheets.length-1),j.Names.push(ee);break;case"namedcell":case"b":case"i":case"u":case"s":case"em":case"h2":case"h3":case"sub":case"sup":case"span":case"alignment":case"borders":case"border":case"protection":case"paragraphs":case"name":case"pixelsperinch":case"null":break;case"font":if("/>"===n[0].slice(-2))break;"/"===n[1]?C+=a.slice(O,n.index):O=n.index+n[0].length;break;case"interior":if(!r.cellStyles)break;x.Interior=tl(n[0]);break;case"author":case"title":case"description":case"created":case"keywords":case"subject":case"category":case"company":case"lastauthor":case"lastsaved":case"lastprinted":case"version":case"revision":case"totaltime":case"hyperlinkbase":case"manager":case"contentstatus":case"identifier":case"language":case"appname":if("/>"===n[0].slice(-2))break;"/"===n[1]?mn(I,$,a.slice(D,n.index)):D=n.index+n[0].length;break;case"styles":case"workbook":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else l.push([n[3],!1]);break;case"comment":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"));il(L),P.push(L)}else l.push([n[3],!1]),L={a:(c=tl(n[0])).Author};break;case"autofilter":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else if("/"!==n[0].charAt(n[0].length-2)){var te=tl(n[0]);g["!autofilter"]={ref:so(te.Range).replace(/\$/g,"")},l.push([n[3],!0])}break;case"datavalidation":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&l.push([n[3],!0]);break;case"componentoptions":case"documentproperties":case"customdocumentproperties":case"officedocumentsettings":case"pivottable":case"pivotcache":case"names":case"mapinfo":case"pagebreaks":case"querytable":case"sorting":case"schema":case"conditionalformatting":case"smarttagtype":case"smarttags":case"excelworkbook":case"workbookoptions":case"worksheetoptions":if("/"===n[1]){if((c=l.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&l.push([n[3],!0]);break;default:if(0==l.length&&"document"==n[3])return zl(a,r);if(0==l.length&&"uof"==n[3])return zl(a,r);var re=!0;switch(l[l.length-1][0]){case"officedocumentsettings":switch(n[3]){case"allowpng":case"removepersonalinformation":case"downloadcomponents":case"locationofcomponents":case"colors":case"color":case"index":case"rgb":case"targetscreensize":case"readonlyrecommended":break;default:re=!1}break;case"componentoptions":switch(n[3]){case"toolbar":case"hideofficelogo":case"spreadsheetautofit":case"label":case"caption":case"maxheight":case"maxwidth":case"nextsheetnumber":break;default:re=!1}break;case"excelworkbook":switch(n[3]){case"date1904":j.WBProps.date1904=!0;break;case"windowheight":case"windowwidth":case"windowtopx":case"windowtopy":case"tabratio":case"protectstructure":case"protectwindow":case"protectwindows":case"activesheet":case"displayinknotes":case"firstvisiblesheet":case"supbook":case"sheetname":case"sheetindex":case"sheetindexfirst":case"sheetindexlast":case"dll":case"acceptlabelsinformulas":case"donotsavelinkvalues":case"iteration":case"maxiterations":case"maxchange":case"path":case"xct":case"count":case"selectedsheets":case"calculation":case"uncalced":case"startupprompt":case"crn":case"externname":case"formula":case"colfirst":case"collast":case"wantadvise":case"boolean":case"error":case"text":case"ole":case"noautorecover":case"publishobjects":case"donotcalculatebeforesave":case"number":case"refmoder1c1":case"embedsavesmarttags":break;default:re=!1}break;case"workbookoptions":switch(n[3]){case"owcversion":case"height":case"width":break;default:re=!1}break;case"worksheetoptions":switch(n[3]){case"visible":if("/>"===n[0].slice(-2));else if("/"===n[1])switch(a.slice(D,n.index)){case"SheetHidden":X.Hidden=1;break;case"SheetVeryHidden":X.Hidden=2}else D=n.index+n[0].length;break;case"header":g["!margins"]||nc(g["!margins"]={},"xlml"),isNaN(+wt(n[0]).Margin)||(g["!margins"].header=+wt(n[0]).Margin);break;case"footer":g["!margins"]||nc(g["!margins"]={},"xlml"),isNaN(+wt(n[0]).Margin)||(g["!margins"].footer=+wt(n[0]).Margin);break;case"pagemargins":var ae=wt(n[0]);g["!margins"]||nc(g["!margins"]={},"xlml"),isNaN(+ae.Top)||(g["!margins"].top=+ae.Top),isNaN(+ae.Left)||(g["!margins"].left=+ae.Left),isNaN(+ae.Right)||(g["!margins"].right=+ae.Right),isNaN(+ae.Bottom)||(g["!margins"].bottom=+ae.Bottom);break;case"displayrighttoleft":j.Views||(j.Views=[]),j.Views[0]||(j.Views[0]={}),j.Views[0].RTL=!0;break;case"freezepanes":case"frozennosplit":case"splithorizontal":case"splitvertical":case"donotdisplaygridlines":case"activerow":case"activecol":case"toprowbottompane":case"leftcolumnrightpane":case"unsynced":case"print":case"printerrors":case"panes":case"scale":case"pane":case"number":case"layout":case"pagesetup":case"selected":case"protectobjects":case"enableselection":case"protectscenarios":case"validprinterinfo":case"horizontalresolution":case"verticalresolution":case"numberofcopies":case"activepane":case"toprowvisible":case"leftcolumnvisible":case"fittopage":case"rangeselection":case"papersizeindex":case"pagelayoutzoom":case"pagebreakzoom":case"filteron":case"fitwidth":case"fitheight":case"commentslayout":case"zoom":case"lefttoright":case"gridlines":case"allowsort":case"allowfilter":case"allowinsertrows":case"allowdeleterows":case"allowinsertcols":case"allowdeletecols":case"allowinserthyperlinks":case"allowformatcells":case"allowsizecols":case"allowsizerows":case"tabcolorindex":case"donotdisplayheadings":case"showpagelayoutzoom":case"blackandwhite":case"donotdisplayzeros":case"displaypagebreak":case"rowcolheadings":case"donotdisplayoutline":case"noorientation":case"allowusepivottables":case"zeroheight":case"viewablerange":case"selection":case"protectcontents":break;case"nosummaryrowsbelowdetail":g["!outline"]||(g["!outline"]={}),g["!outline"].above=!0;break;case"nosummarycolumnsrightdetail":g["!outline"]||(g["!outline"]={}),g["!outline"].left=!0;break;default:re=!1}break;case"pivottable":case"pivotcache":switch(n[3]){case"immediateitemsondrop":case"showpagemultipleitemlabel":case"compactrowindent":case"location":case"pivotfield":case"orientation":case"layoutform":case"layoutsubtotallocation":case"layoutcompactrow":case"position":case"pivotitem":case"datatype":case"datafield":case"sourcename":case"parentfield":case"ptlineitems":case"ptlineitem":case"countofsameitems":case"item":case"itemtype":case"ptsource":case"cacheindex":case"consolidationreference":case"filename":case"reference":case"nocolumngrand":case"norowgrand":case"blanklineafteritems":case"hidden":case"subtotal":case"basefield":case"mapchilditems":case"function":case"refreshonfileopen":case"printsettitles":case"mergelabels":case"defaultversion":case"refreshname":case"refreshdate":case"refreshdatecopy":case"versionlastrefresh":case"versionlastupdate":case"versionupdateablemin":case"versionrefreshablemin":case"calculation":break;default:re=!1}break;case"pagebreaks":switch(n[3]){case"colbreaks":case"colbreak":case"rowbreaks":case"rowbreak":case"colstart":case"colend":case"rowend":break;default:re=!1}break;case"autofilter":switch(n[3]){case"autofiltercolumn":case"autofiltercondition":case"autofilterand":case"autofilteror":break;default:re=!1}break;case"querytable":switch(n[3]){case"id":case"autoformatfont":case"autoformatpattern":case"querysource":case"querytype":case"enableredirections":case"refreshedinxl9":case"urlstring":case"htmltables":case"connection":case"commandtext":case"refreshinfo":case"notitles":case"nextid":case"columninfo":case"overwritecells":case"donotpromptforfile":case"textwizardsettings":case"source":case"number":case"decimal":case"thousandseparator":case"trailingminusnumbers":case"formatsettings":case"fieldtype":case"delimiters":case"tab":case"comma":case"autoformatname":case"versionlastedit":case"versionlastrefresh":break;default:re=!1}break;case"datavalidation":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":case"cellrangelist":break;default:re=!1}break;case"sorting":case"conditionalformatting":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"cellrangelist":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":break;default:re=!1}break;case"mapinfo":case"schema":case"data":switch(n[3]){case"map":case"entry":case"range":case"xpath":case"field":case"xsdtype":case"filteron":case"aggregate":case"elementtype":case"attributetype":case"schema":case"element":case"complextype":case"datatype":case"all":case"attribute":case"extends":case"row":break;default:re=!1}break;case"smarttags":break;default:re=!1}if(re)break;if(n[3].match(/!\[CDATA/))break;if(!l[l.length-1][1])throw"Unrecognized tag: "+n[3]+"|"+l.join("|");if("customdocumentproperties"===l[l.length-1][0]){if("/>"===n[0].slice(-2))break;"/"===n[1]?al(N,$,F,a.slice(D,n.index)):(F=n,D=n.index+n[0].length);break}if(r.WTF)throw"Unrecognized tag: "+n[3]+"|"+l.join("|")}var ne={};return r.bookSheets||r.bookProps||(ne.Sheets=u),ne.SheetNames=m,ne.Workbook=j,ne.SSF=Ke(z),ne.Props=I,ne.Custprops=N,ne}function cl(e,t){switch(bf(t=t||{}),t.type||"base64"){case"base64":return ol(E(e),t);case"binary":case"buffer":case"file":return ol(e,t);case"array":return ol(C(e),t)}}function ll(e){return $t("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+oo(e.Ref,{r:0,c:0})})}function fl(e,t,r,a,n,s,i){if(!e||null==e.v&&null==e.f)return"";var o={};if(e.f&&(o["ss:Formula"]="="+At(oo(e.f,i))),e.F&&e.F.slice(0,t.length)==t){var c=Yr(e.F.slice(t.length+1));o["ss:ArrayRange"]="RC:R"+(c.r==i.r?"":"["+(c.r-i.r)+"]")+"C"+(c.c==i.c?"":"["+(c.c-i.c)+"]")}if(e.l&&e.l.Target&&(o["ss:HRef"]=At(e.l.Target),e.l.Tooltip&&(o["x:HRefScreenTip"]=At(e.l.Tooltip))),r["!merges"])for(var l=r["!merges"],f=0;f!=l.length;++f)l[f].s.c==i.c&&l[f].s.r==i.r&&(l[f].e.c>l[f].s.c&&(o["ss:MergeAcross"]=l[f].e.c-l[f].s.c),l[f].e.r>l[f].s.r&&(o["ss:MergeDown"]=l[f].e.r-l[f].s.r));var h="",u="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":h="Number",u=String(e.v);break;case"b":h="Boolean",u=e.v?"1":"0";break;case"e":h="Error",u=Ha[e.v];break;case"d":h="DateTime",u=new Date(e.v).toISOString(),null==e.z&&(e.z=e.z||z[14]);break;case"s":h="String",u=((e.v||"")+"").replace(kt,function(e){return St[e]}).replace(Ct,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var d=sc(a.cellXfs,e,a);o["ss:StyleID"]="s"+(21+d),o["ss:Index"]=i.c+1;var p=null!=e.v?u:"",m="z"==e.t?"":''+p+"";return(e.c||[]).length>0&&(m+=e.c.map(function(e){var t=$t("ss:Data",(e.t||"").replace(/(\r\n|[\r\n])/g," "),{xmlns:"http://www.w3.org/TR/REC-html40"});return $t("Comment",t,{"ss:Author":e.a})}).join("")),$t("Cell",m,o)}function hl(e,t){var r='"}function ul(e,t,r){var a=[],n=r.SheetNames[e],s=r.Sheets[n],i=s?function(e,t,r,a){if(!e)return"";if(!((a||{}).Workbook||{}).Names)return"";for(var n=a.Workbook.Names,s=[],i=0;i0&&a.push(""+i+""),i=s?function(e,t){if(!e["!ref"])return"";var r=Zr(e["!ref"]),a=e["!merges"]||[],n=0,s=[];e["!cols"]&&e["!cols"].forEach(function(e,t){bi(e);var r=!!e.width,a=ac(t,e),n={"ss:Index":t+1};r&&(n["ss:Width"]=di(a.width)),e.hidden&&(n["ss:Hidden"]="1"),s.push($t("Column",null,n))});for(var i=Array.isArray(e),o=r.s.r;o<=r.e.r;++o){for(var c=[hl(o,(e["!rows"]||[])[o])],l=r.s.c;l<=r.e.c;++l){var f=!1;for(n=0;n!=a.length;++n)if(!(a[n].s.c>l||a[n].s.r>o||a[n].e.c"),c.length>2&&s.push(c.join(""))}return s.join("")}(s,t):"",i.length>0&&a.push("
"+i+"
"),a.push(function(e,t,r,a){if(!e)return"";var n=[];if(e["!margins"]&&(n.push(""),e["!margins"].header&&n.push($t("Header",null,{"x:Margin":e["!margins"].header})),e["!margins"].footer&&n.push($t("Footer",null,{"x:Margin":e["!margins"].footer})),n.push($t("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"})),n.push("")),a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[r])if(a.Workbook.Sheets[r].Hidden)n.push($t("Visible",1==a.Workbook.Sheets[r].Hidden?"SheetHidden":"SheetVeryHidden",{}));else{for(var s=0;s")}return((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL&&n.push(""),e["!protect"]&&(n.push(jt("ProtectContents","True")),e["!protect"].objects&&n.push(jt("ProtectObjects","True")),e["!protect"].scenarios&&n.push(jt("ProtectScenarios","True")),null==e["!protect"].selectLockedCells||e["!protect"].selectLockedCells?null==e["!protect"].selectUnlockedCells||e["!protect"].selectUnlockedCells||n.push(jt("EnableSelection","UnlockedCells")):n.push(jt("EnableSelection","NoSelection")),[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(t){e["!protect"][t[0]]&&n.push("<"+t[1]+"/>")})),0==n.length?"":$t("WorksheetOptions",n.join(""),{xmlns:Qt.x})}(s,0,e,r)),a.join("")}function dl(e,t){t||(t={}),e.SSF||(e.SSF=Ke(z)),e.SSF&&(ye(),Se(e.SSF),t.revssf=Le(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF,t.cellXfs=[],sc(t.cellXfs,{},{revssf:{General:0}}));var r=[];r.push(function(e,t){var r=[];return e.Props&&r.push(function(e,t){var r=[];return De(pn).map(function(e){for(var t=0;t'+n.join("")+""}(e.Props,e.Custprops)),r.join("")}(e,t)),r.push(""),r.push(""),r.push("");for(var a=0;a'];return t.cellXfs.forEach(function(e,t){var a=[];a.push($t("NumberFormat",null,{"ss:Format":At(z[e.numFmtId])}));var n={"ss:ID":"s"+(21+t)};r.push($t("Style",a.join(""),n))}),$t("Styles",r.join(""))}(0,t),r[3]=function(e){if(!((e||{}).Workbook||{}).Names)return"";for(var t=e.Workbook.Names,r=[],a=0;a0)switch(e){case 9:case 521:case 1033:case 2057:case 47:case 405:case 225:case 406:case 312:case 404:case 10:case 133:break;default:n.enc.insitu(o)}i.push(o),r.l+=s;for(var c=yr(r,r.l),l=El[c],f=0;null!=l&&pl.indexOf(c)>-1;)s=yr(r,r.l+2),f=r.l+4,2066==c?f+=4:2165!=c&&2175!=c||(f+=12),o=r.slice(f,r.l+4+s),i.push(o),r.l+=4+s,l=El[c=yr(r,r.l)];var h=R(i);Fr(h,0);var u=0;h.lens=[];for(var d=0;d40||(r.l-=4,t.Reserved1=r.read_shift(0,"lpstr-ansi"),r.length-r.l<=4||1907505652!==(a=r.read_shift(4))||(t.UnicodeClipboardFormat=function(e){return Ca(e,2)}(r),0==(a=r.read_shift(4))||a>40||(r.l-=4,t.Reserved2=r.read_shift(0,"lpwstr"))))}(r),t.bookProps&&!t.bookSheets)n={};else{var i=S?"buffer":"array";if(a&&a.content)n=function(e,t){var r={opts:{}},a={};null!=b&&null==t.dense&&(t.dense=b);var n,s,i,o,c,f,h,u,d=t.dense?[]:{},p={},m={},g=null,v=[],w="",T={},E="",S={},y=[],k=[],_=[],A={Sheets:[],WBProps:{date1904:!1},Views:[{}]},x={},C=function(e){return e<8?Wa[e]:e<64&&_[e-8]||Wa[e]},O=function(e,t,r){if(!(B>1||r.sheetRows&&e.r>=r.sheetRows)){if(r.cellStyles&&t.XF&&t.XF.data&&function(e,t,r){var a,n=t.XF.data;n&&n.patternType&&r&&r.cellStyles&&(t.s={},t.s.patternType=n.patternType,(a=oi(C(n.icvFore)))&&(t.s.fgColor={rgb:a}),(a=oi(C(n.icvBack)))&&(t.s.bgColor={rgb:a}))}(0,t,r),delete t.ixfe,delete t.XF,n=e,E=Kr(e),m&&m.s&&m.e||(m={s:{r:0,c:0},e:{r:0,c:0}}),e.rm.e.r&&(m.e.r=e.r+1),e.c+1>m.e.c&&(m.e.c=e.c+1),r.cellFormula&&t.f)for(var a=0;ae.c||y[a][0].s.r>e.r||y[a][0].e.c>8)!==X)throw new Error("rt mismatch: "+K+"!="+X);12==Y.r&&(e.l+=10,$-=10)}var J={};if(J=10===X?Y.f(e,$,R):ml(X,Y,e,$,R),0==B&&-1===[9,521,1033,2057].indexOf(U))continue;switch(X){case 34:r.opts.Date1904=A.WBProps.date1904=J;break;case 134:r.opts.WriteProtect=!0;break;case 47:if(R.enc||(e.l=0),R.enc=J,!t.password)throw new Error("File is password-protected");if(null==J.valid)throw new Error("Encryption scheme unsupported");if(!J.valid)throw new Error("Password is incorrect");break;case 92:R.lastuser=J;break;case 66:var q=Number(J);switch(q){case 21010:q=1200;break;case 32768:q=1e4;break;case 32769:q=1252}l(R.codepage=q),G=!0;break;case 317:R.rrtabid=J;break;case 25:R.winlocked=J;break;case 439:r.opts.RefreshAll=J;break;case 12:r.opts.CalcCount=J;break;case 16:r.opts.CalcDelta=J;break;case 17:r.opts.CalcIter=J;break;case 13:r.opts.CalcMode=J;break;case 14:r.opts.CalcPrecision=J;break;case 95:r.opts.CalcSaveRecalc=J;break;case 15:R.CalcRefMode=J;break;case 2211:r.opts.FullCalc=J;break;case 129:J.fDialog&&(d["!type"]="dialog"),J.fBelow||((d["!outline"]||(d["!outline"]={})).above=!0),J.fRight||((d["!outline"]||(d["!outline"]={})).left=!0);break;case 224:k.push(J);break;case 430:L.push([J]),L[L.length-1].XTI=[];break;case 35:case 547:L[L.length-1].push(J);break;case 24:case 536:M={Name:J.Name,Ref:Mo(J.rgce,0,null,L,R)},J.itab>0&&(M.Sheet=J.itab-1),L.names.push(M),L[0]||(L[0]=[],L[0].XTI=[]),L[L.length-1].push(J),"_xlnm._FilterDatabase"==J.Name&&J.itab>0&&J.rgce&&J.rgce[0]&&J.rgce[0][0]&&"PtgArea3d"==J.rgce[0][0][0]&&(V[J.itab-1]={ref:qr(J.rgce[0][0][1][2])});break;case 22:R.ExternCount=J;break;case 23:0==L.length&&(L[0]=[],L[0].XTI=[]),L[L.length-1].XTI=L[L.length-1].XTI.concat(J),L.XTI=L.XTI.concat(J);break;case 2196:if(R.biff<8)break;null!=M&&(M.Comment=J[1]);break;case 18:d["!protect"]=J;break;case 19:0!==J&&R.WTF&&console.error("Password verifier: "+J);break;case 133:p[J.pos]=J,R.snames.push(J.name);break;case 10:if(--B)break;if(m.e){if(m.e.r>0&&m.e.c>0){if(m.e.r--,m.e.c--,d["!ref"]=qr(m),t.sheetRows&&t.sheetRows<=m.e.r){var Z=m.e.r;m.e.r=t.sheetRows-1,d["!fullref"]=d["!ref"],d["!ref"]=qr(m),m.e.r=Z}m.e.r++,m.e.c++}I.length>0&&(d["!merges"]=I),N.length>0&&(d["!objects"]=N),D.length>0&&(d["!cols"]=D),F.length>0&&(d["!rows"]=F),A.Sheets.push(x)}""===w?T=d:a[w]=d,d=t.dense?[]:{};break;case 9:case 521:case 1033:case 2057:if(8===R.biff&&(R.biff={9:2,521:3,1033:4}[X]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[J.BIFFVer]||8),R.biffguess=0==J.BIFFVer,0==J.BIFFVer&&4096==J.dt&&(R.biff=5,G=!0,l(R.codepage=28591)),8==R.biff&&0==J.BIFFVer&&16==J.dt&&(R.biff=2),B++)break;if(d=t.dense?[]:{},R.biff<8&&!G&&(G=!0,l(R.codepage=t.codepage||1252)),R.biff<5||0==J.BIFFVer&&4096==J.dt){""===w&&(w="Sheet1"),m={s:{r:0,c:0},e:{r:0,c:0}};var Q={pos:e.l-$,name:w};p[Q.pos]=Q,R.snames.push(w)}else w=(p[j]||{name:""}).name;32==J.dt&&(d["!type"]="chart"),64==J.dt&&(d["!type"]="macro"),I=[],N=[],R.arrayf=y=[],D=[],F=[],P=!1,x={Hidden:(p[j]||{hs:0}).hs,name:w};break;case 515:case 3:case 2:"chart"==d["!type"]&&(t.dense?(d[J.r]||[])[J.c]:d[Kr({c:J.c,r:J.r})])&&++J.c,f={ixfe:J.ixfe,XF:k[J.ixfe]||{},v:J.val,t:"n"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 5:case 517:f={ixfe:J.ixfe,XF:k[J.ixfe],v:J.val,t:J.t},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 638:f={ixfe:J.ixfe,XF:k[J.ixfe],v:J.rknum,t:"n"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 189:for(var ee=J.c;ee<=J.C;++ee){var te=J.rkrec[ee-J.c][0];f={ixfe:te,XF:k[te],v:J.rkrec[ee-J.c][1],t:"n"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:ee,r:J.r},f,t)}break;case 6:case 518:case 1030:if("String"==J.val){g=J;break}if((f=vl(J.val,J.cell.ixfe,J.tt)).XF=k[f.ixfe],t.cellFormula){var re=J.formula;if(re&&re[0]&&re[0][0]&&"PtgExp"==re[0][0][0]){var ae=re[0][0][1][0],ne=re[0][0][1][1],se=Kr({r:ae,c:ne});S[se]?f.f=""+Mo(J.formula,0,J.cell,L,R):f.F=((t.dense?(d[ae]||[])[ne]:d[se])||{}).F}else f.f=""+Mo(J.formula,0,J.cell,L,R)}W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O(J.cell,f,t),g=J;break;case 7:case 519:if(!g)throw new Error("String record expects Formula");g.val=J,(f=vl(J,g.cell.ixfe,"s")).XF=k[f.ixfe],t.cellFormula&&(f.f=""+Mo(g.formula,0,g.cell,L,R)),W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O(g.cell,f,t),g=null;break;case 33:case 545:y.push(J);var ie=Kr(J[0].s);if(s=t.dense?(d[J[0].s.r]||[])[J[0].s.c]:d[ie],t.cellFormula&&s){if(!g)break;if(!ie||!s)break;s.f=""+Mo(J[1],0,J[0],L,R),s.F=qr(J[0])}break;case 1212:if(!t.cellFormula)break;if(E){if(!g)break;S[Kr(g.cell)]=J[0],((s=t.dense?(d[g.cell.r]||[])[g.cell.c]:d[Kr(g.cell)])||{}).f=""+Mo(J[0],0,n,L,R)}break;case 253:f=vl(v[J.isst].t,J.ixfe,"s"),v[J.isst].h&&(f.h=v[J.isst].h),f.XF=k[f.ixfe],W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 513:t.sheetStubs&&(f={ixfe:J.ixfe,XF:k[J.ixfe],t:"z"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t));break;case 190:if(t.sheetStubs)for(var oe=J.c;oe<=J.C;++oe){var ce=J.ixfe[oe-J.c];f={ixfe:ce,XF:k[ce],t:"z"},W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:oe,r:J.r},f,t)}break;case 214:case 516:case 4:(f=vl(J.val,J.ixfe,"s")).XF=k[f.ixfe],W>0&&(f.z=H[f.ixfe>>8&63]),gl(f,t,r.opts.Date1904),O({c:J.c,r:J.r},f,t);break;case 0:case 512:1===B&&(m=J);break;case 252:v=J;break;case 1054:if(4==R.biff){H[W++]=J[1];for(var le=0;le=163&&Ee(J[1],W+163)}else Ee(J[1],J[0]);break;case 30:H[W++]=J;for(var fe=0;fe=163&&Ee(J,W+163);break;case 229:I=I.concat(J);break;case 93:N[J.cmo[0]]=R.lastobj=J;break;case 438:R.lastobj.TxO=J;break;case 127:R.lastobj.ImData=J;break;case 440:for(c=J[0].s.r;c<=J[0].e.r;++c)for(o=J[0].s.c;o<=J[0].e.c;++o)(s=t.dense?(d[c]||[])[o]:d[Kr({c:o,r:c})])&&(s.l=J[1]);break;case 2048:for(c=J[0].s.r;c<=J[0].e.r;++c)for(o=J[0].s.c;o<=J[0].e.c;++o)(s=t.dense?(d[c]||[])[o]:d[Kr({c:o,r:c})])&&s.l&&(s.l.Tooltip=J[1]);break;case 28:if(R.biff<=5&&R.biff>=2)break;s=t.dense?(d[J[0].r]||[])[J[0].c]:d[Kr(J[0])];var he=N[J[2]];s||(t.dense?(d[J[0].r]||(d[J[0].r]=[]),s=d[J[0].r][J[0].c]={t:"z"}):s=d[Kr(J[0])]={t:"z"},m.e.r=Math.max(m.e.r,J[0].r),m.s.r=Math.min(m.s.r,J[0].r),m.e.c=Math.max(m.e.c,J[0].c),m.s.c=Math.min(m.s.c,J[0].c)),s.c||(s.c=[]),i={a:J[1],t:he.TxO.t},s.c.push(i);break;case 2173:$i(k[J.ixfe],J.ext);break;case 125:if(!R.cellStyles)break;for(;J.e>=J.s;)D[J.e--]={width:J.w/256,level:J.level||0,hidden:!!(1&J.flags)},P||(P=!0,vi(J.w/256)),bi(D[J.e+1]);break;case 520:var ue={};null!=J.level&&(F[J.r]=ue,ue.level=J.level),J.hidden&&(F[J.r]=ue,ue.hidden=!0),J.hpt&&(F[J.r]=ue,ue.hpt=J.hpt,ue.hpx=Ei(J.hpt));break;case 38:case 39:case 40:case 41:d["!margins"]||nc(d["!margins"]={}),d["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[X]]=J;break;case 161:d["!margins"]||nc(d["!margins"]={}),d["!margins"].header=J.header,d["!margins"].footer=J.footer;break;case 574:J.RTL&&(A.Views[0].RTL=!0);break;case 146:_=J;break;case 2198:u=J;break;case 140:h=J;break;case 442:w?x.CodeName=J||x.name:A.WBProps.CodeName=J||"ThisWorkbook"}}else Y||console.error("Missing Info for XLS Record 0x"+X.toString(16)),e.l+=$}return r.SheetNames=De(p).sort(function(e,t){return Number(e)-Number(t)}).map(function(e){return p[e].name}),t.bookSheets||(r.Sheets=a),!r.SheetNames.length&&T["!ref"]?(r.SheetNames.push("Sheet1"),r.Sheets&&(r.Sheets.Sheet1=T)):r.Preamble=T,r.Sheets&&V.forEach(function(e,t){r.Sheets[r.SheetNames[t]]["!autofilter"]=e}),r.Strings=v,r.SSF=Ke(z),R.enc&&(r.Encryption=R.enc),u&&(r.Themes=u),r.Metadata={},void 0!==h&&(r.Metadata.Country=h),L.names.length>0&&(A.Names=L.names),r.Workbook=A,r}(a.content,t);else if((s=Ce.find(e,"PerfectOffice_MAIN"))&&s.content)n=Ls.to_workbook(s.content,(t.type=i,t));else{if(!(s=Ce.find(e,"NativeContent_MAIN"))||!s.content)throw(s=Ce.find(e,"MN0"))&&s.content?new Error("Unsupported Works 4 for Mac file"):new Error("Cannot find Workbook stream");n=Ls.to_workbook(s.content,(t.type=i,t))}t.bookVBA&&e.FullPaths&&Ce.find(e,"/_VBA_PROJECT_CUR/VBA/dir")&&(n.vbaraw=function(e){var t=Ce.utils.cfb_new({root:"R"});return e.FullPaths.forEach(function(r,a){if("/"!==r.slice(-1)&&r.match(/_VBA_PROJECT_CUR/)){var n=r.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");Ce.utils.cfb_add(t,n,e.FileIndex[a].content)}}),Ce.write(t)}(e))}var o={};return e.FullPaths&&function(e,t,r){var a=Ce.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=Rn(a,Pa,bl.DSI);for(var s in n)t[s]=n[s]}catch(e){if(r.WTF)throw e}var i=Ce.find(e,"/!SummaryInformation");if(i&&i.size>0)try{var o=Rn(i,La,bl.SI);for(var c in o)null==t[c]&&(t[c]=o[c])}catch(e){if(r.WTF)throw e}t.HeadingPairs&&t.TitlesOfParts&&(ln(t.HeadingPairs,t.TitlesOfParts,t,r),delete t.HeadingPairs,delete t.TitlesOfParts)}(e,o,t),n.Props=n.Custprops=o,t.bookFiles&&(n.cfb=e),n}var Tl={0:{f:function(e,t){var r={},a=e.l+t;r.r=e.read_shift(4),e.l+=4;var n=e.read_shift(2);e.l+=1;var s=e.read_shift(1);return e.l=a,7&s&&(r.level=7&s),16&s&&(r.hidden=!0),32&s&&(r.hpt=n/20),r}},1:{f:function(e){return[la(e)]}},2:{f:function(e){return[la(e),Ta(e),"n"]}},3:{f:function(e){return[la(e),e.read_shift(1),"e"]}},4:{f:function(e){return[la(e),e.read_shift(1),"b"]}},5:{f:function(e){return[la(e),_a(e),"n"]}},6:{f:function(e){return[la(e),na(e),"str"]}},7:{f:function(e){return[la(e),e.read_shift(4),"s"]}},8:{f:function(e,t,r){var a=e.l+t,n=la(e);n.r=r["!row"];var s=[n,na(e),"str"];if(r.cellFormula){e.l+=2;var i=Vo(e,a-e.l,r);s[3]=Mo(i,0,n,r.supbooks,r)}else e.l=a;return s}},9:{f:function(e,t,r){var a=e.l+t,n=la(e);n.r=r["!row"];var s=[n,_a(e),"n"];if(r.cellFormula){e.l+=2;var i=Vo(e,a-e.l,r);s[3]=Mo(i,0,n,r.supbooks,r)}else e.l=a;return s}},10:{f:function(e,t,r){var a=e.l+t,n=la(e);n.r=r["!row"];var s=[n,e.read_shift(1),"b"];if(r.cellFormula){e.l+=2;var i=Vo(e,a-e.l,r);s[3]=Mo(i,0,n,r.supbooks,r)}else e.l=a;return s}},11:{f:function(e,t,r){var a=e.l+t,n=la(e);n.r=r["!row"];var s=[n,e.read_shift(1),"e"];if(r.cellFormula){e.l+=2;var i=Vo(e,a-e.l,r);s[3]=Mo(i,0,n,r.supbooks,r)}else e.l=a;return s}},12:{f:function(e){return[ha(e)]}},13:{f:function(e){return[ha(e),Ta(e),"n"]}},14:{f:function(e){return[ha(e),e.read_shift(1),"e"]}},15:{f:function(e){return[ha(e),e.read_shift(1),"b"]}},16:{f:Cc},17:{f:function(e){return[ha(e),na(e),"str"]}},18:{f:function(e){return[ha(e),e.read_shift(4),"s"]}},19:{f:oa},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:function(e,t,r){var a=e.l+t;e.l+=4,e.l+=1;var n=e.read_shift(4),s=va(e),i=Go(e,0,r),o=ma(e);e.l=a;var c={Name:s,Ptg:i};return n<268435455&&(c.Sheet=n),o&&(c.Comment=o),c}},40:{},42:{},43:{f:function(e,t,r){var a={};a.sz=e.read_shift(2)/20;var n=function(e){var t=e.read_shift(1);return e.l++,{fBold:1&t,fItalic:2&t,fUnderline:4&t,fStrikeout:8&t,fOutline:16&t,fShadow:32&t,fCondense:64&t,fExtend:128&t}}(e);switch(n.fItalic&&(a.italic=1),n.fCondense&&(a.condense=1),n.fExtend&&(a.extend=1),n.fShadow&&(a.shadow=1),n.fOutline&&(a.outline=1),n.fStrikeout&&(a.strike=1),700===e.read_shift(2)&&(a.bold=1),e.read_shift(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript"}var s=e.read_shift(1);0!=s&&(a.underline=s);var i=e.read_shift(1);i>0&&(a.family=i);var o=e.read_shift(1);switch(o>0&&(a.charset=o),e.l++,a.color=function(e){var t={},r=e.read_shift(1)>>>1,a=e.read_shift(1),n=e.read_shift(2,"i"),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(1);switch(e.l++,r){case 0:t.auto=1;break;case 1:t.index=a;var c=Wa[a];c&&(t.rgb=oi(c));break;case 2:t.rgb=oi([s,i,o]);break;case 3:t.theme=a}return 0!=n&&(t.tint=n>0?n/32767:n/32768),t}(e),e.read_shift(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor"}return a.name=na(e),a}},44:{f:function(e,t){return[e.read_shift(2),na(e)]}},45:{f:Ri},46:{f:Fi},47:{f:function(e,t){var r=e.l+t,a=e.read_shift(2),n=e.read_shift(2);return e.l=r,{ixfe:a,numFmtId:n}}},48:{},49:{f:function(e){return e.read_shift(4,"i")}},50:{},51:{f:function(e){for(var t=[],r=e.read_shift(4);r-- >0;)t.push([e.read_shift(4),e.read_shift(4)]);return t}},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:As},62:{f:function(e){return[la(e),oa(e),"is"]}},63:{f:function(e){var t={};t.i=e.read_shift(4);var r={};r.r=e.read_shift(4),r.c=e.read_shift(4),t.r=Kr(r);var a=e.read_shift(1);return 2&a&&(t.l="1"),8&a&&(t.a="1"),t}},64:{f:function(){}},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Pr,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:function(e){var t=e.read_shift(2);return e.l+=28,{RTL:32&t}}},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:function(e,t){var r={},a=e[e.l];return++e.l,r.above=!(64&a),r.left=!(128&a),e.l+=18,r.name=da(e,t-19),r}},148:{f:Ac,p:16},151:{f:function(){}},152:{},153:{f:function(e,t){var r={},a=e.read_shift(4);r.defaultThemeVersion=e.read_shift(4);var n=t>8?na(e):"";return n.length>0&&(r.CodeName=n),r.autoCompressPictures=!!(65536&a),r.backupFile=!!(64&a),r.checkCompatibility=!!(4096&a),r.date1904=!!(1&a),r.filterPrivacy=!!(8&a),r.hidePivotFieldList=!!(1024&a),r.promptedSolutions=!!(16&a),r.publishItems=!!(2048&a),r.refreshAllConnections=!!(262144&a),r.saveExternalLinkValues=!!(128&a),r.showBorderUnselectedTables=!!(4&a),r.showInkAnnotation=!!(32&a),r.showObjects=["all","placeholders","none"][a>>13&3],r.showPivotChartFilter=!!(32768&a),r.updateLinks=["userSet","never","always"][a>>8&3],r}},154:{},155:{},156:{f:function(e,t){var r={};return r.Hidden=e.read_shift(4),r.iTabID=e.read_shift(4),r.strRelID=ba(e,t-8),r.name=na(e),r}},157:{},158:{},159:{T:1,f:function(e){return[e.read_shift(4),e.read_shift(4)]}},160:{T:-1},161:{T:1,f:ya},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:Oc},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:function(e,t){return{flags:e.read_shift(4),version:e.read_shift(4),name:na(e)}}},336:{T:-1},337:{f:function(e){return e.l+=4,0!=e.read_shift(4)},T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:ba},357:{},358:{},359:{},360:{T:1},361:{},362:{f:Es},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:function(e,t,r){var a=e.l+t,n=Sa(e),s=e.read_shift(1),i=[n];if(i[2]=s,r.cellFormula){var o=zo(e,a-e.l,r);i[1]=o}else e.l=a;return i}},427:{f:function(e,t,r){var a=e.l+t,n=[ya(e,16)];if(r.cellFormula){var s=jo(e,a-e.l,r);n[1]=s,e.l=a}else e.l=a;return n}},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:function(e){var t={};return Ic.forEach(function(r){t[r]=_a(e)}),t}},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:function(){}},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:function(e,t){var r=e.l+t,a=ya(e,16),n=ma(e),s=na(e),i=na(e),o=na(e);e.l=r;var c={rfx:a,relId:n,loc:s,display:o};return i&&(c.Tooltip=i),c}},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:ba},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:to},633:{T:1},634:{T:-1},635:{T:1,f:function(e){var t={};t.iauthor=e.read_shift(4);var r=ya(e,16);return t.rfx=r.s,t.ref=Kr(r.s),e.l+=16,t}},636:{T:-1},637:{f:ca},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:function(e,t){return e.l+=10,{name:na(e)}}},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:function(){}},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}},El={6:{f:Wo},10:{f:Nn},12:{f:Pn},13:{f:Pn},14:{f:Dn},15:{f:Dn},16:{f:_a},17:{f:Dn},18:{f:Dn},19:{f:Pn},20:{f:vs},21:{f:vs},23:{f:Es},24:{f:Ts},25:{f:Dn},26:{},27:{},28:{f:function(e,t,r){return function(e,t,r){if(!(r.biff<8)){var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2),i=e.read_shift(2),o=Gn(e,0,r);return r.biff<8&&e.read_shift(1),[{r:a,c:n},o,i,s]}}(e,0,r)}},29:{},34:{f:Dn},35:{f:bs},38:{f:_a},39:{f:_a},40:{f:_a},41:{f:_a},42:{f:Dn},43:{f:Dn},47:{f:function(e,t,r){var a={Type:r.biff>=8?e.read_shift(2):0};return a.Type?function(e,t,r){var a=r||{};a.Info=e.read_shift(2),e.l-=2,1===a.Info?a.Data=function(e){var t={},r=t.EncryptionVersionInfo=qs(e,4);if(1!=r.Major||1!=r.Minor)throw"unrecognized version code "+r.Major+" : "+r.Minor;return t.Salt=e.read_shift(16),t.EncryptedVerifier=e.read_shift(16),t.EncryptedVerifierHash=e.read_shift(16),t}(e):a.Data=function(e,t){var r={},a=r.EncryptionVersionInfo=qs(e,4);if(t-=4,2!=a.Minor)throw new Error("unrecognized minor version code: "+a.Minor);if(a.Major>4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);r.Flags=e.read_shift(4),t-=4;var n=e.read_shift(4);return t-=4,r.EncryptionHeader=Qs(e,n),t-=n,r.EncryptionVerifier=ei(e,t),r}(e,t)}(e,t-2,a):function(e,t,r,a){var n,s,i,o={key:Pn(e),verificationBytes:Pn(e)};r.password&&(o.verifier=ni(r.password)),a.valid=o.verificationBytes===o.verifier,a.valid&&(a.insitu=(n=r.password,s=0,i=si(n),function(e){var t=function(e,t,r,a,n){var s,i;for(n||(n=t),a||(a=si("")),s=0;s!=t.length;++s)i=t[s],i=255&((i^=a[r])>>5|i<<3),n[s]=i,++r;return[n,r,a]}(0,e,s,i);return s=t[1],t[0]}))}(e,r.biff,r,a),a}},49:{f:function(e,t,r){var a={dyHeight:e.read_shift(2),fl:e.read_shift(2)};switch(r&&r.biff||8){case 2:break;case 3:case 4:e.l+=2;break;default:e.l+=10}return a.name=Bn(e,0,r),a}},51:{f:Pn},60:{},61:{f:function(e){return{Pos:[e.read_shift(2),e.read_shift(2)],Dim:[e.read_shift(2),e.read_shift(2)],Flags:e.read_shift(2),CurTab:e.read_shift(2),FirstTab:e.read_shift(2),Selected:e.read_shift(2),TabRatio:e.read_shift(2)}}},64:{f:Dn},65:{f:function(){}},66:{f:Pn},77:{},80:{},81:{},82:{},85:{f:Pn},89:{},90:{},91:{},92:{f:function(e,t,r){if(r.enc)return e.l+=t,"";var a=e.l,n=Gn(e,0,r);return e.read_shift(t+a-e.l),n}},93:{f:function(e,t,r){if(r&&r.biff<8)return function(e,t,r){e.l+=4;var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2);e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=6,t-=36;var i=[];return i.push((ys[a]||Pr)(e,t,r)),{cmo:[n,a,s],ft:i}}(e,t,r);var a=ss(e),n=function(e,t){for(var r=e.l+t,a=[];e.l7||t[1]>7)throw new Error("Bad Gutters: "+t.join("|"));return t}},129:{f:function(e,t,r){var a=r&&8==r.biff||2==t?e.read_shift(2):(e.l+=t,0);return{fDialog:16&a,fBelow:64&a,fRight:128&a}}},130:{f:Pn},131:{f:Dn},132:{f:Dn},133:{f:function(e,t,r){var a=e.read_shift(4),n=3&e.read_shift(1),s=e.read_shift(1);switch(s){case 0:s="Worksheet";break;case 1:s="Macrosheet";break;case 2:s="Chartsheet";break;case 6:s="VBAModule"}var i=Bn(e,0,r);return 0===i.length&&(i="Sheet1"),{pos:a,hs:n,dt:s,name:i}}},134:{},140:{f:function(e){var t,r=[0,0];return t=e.read_shift(2),r[0]=Ma[t]||t,t=e.read_shift(2),r[1]=Ma[t]||t,r}},141:{f:Pn},144:{},146:{f:function(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(Jn(e));return r}},151:{},152:{},153:{},154:{},155:{},156:{f:Pn},157:{},158:{},160:{f:Cs},161:{f:function(e,t){var r={};return t<32||(e.l+=16,r.header=_a(e),r.footer=_a(e),e.l+=2),r}},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:function(e,t){for(var r=e.l+t-2,a=e.read_shift(2),n=e.read_shift(2),s=[];e.l>2&1,a.data=function(e,t,r,a){var n={},s=e.read_shift(4),i=e.read_shift(4),o=e.read_shift(4),c=e.read_shift(2);return n.patternType=Ua[o>>26],a.cellStyles?(n.alc=7&s,n.fWrap=s>>3&1,n.alcV=s>>4&7,n.fJustLast=s>>7&1,n.trot=s>>8&255,n.cIndent=s>>16&15,n.fShrinkToFit=s>>20&1,n.iReadOrder=s>>22&2,n.fAtrNum=s>>26&1,n.fAtrFnt=s>>27&1,n.fAtrAlc=s>>28&1,n.fAtrBdr=s>>29&1,n.fAtrPat=s>>30&1,n.fAtrProt=s>>31&1,n.dgLeft=15&i,n.dgRight=i>>4&15,n.dgTop=i>>8&15,n.dgBottom=i>>12&15,n.icvLeft=i>>16&127,n.icvRight=i>>23&127,n.grbitDiag=i>>30&3,n.icvTop=127&o,n.icvBottom=o>>7&127,n.icvDiag=o>>14&127,n.dgDiag=o>>21&15,n.icvFore=127&c,n.icvBack=c>>7&127,n.fsxButton=c>>14&1,n):n}(e,0,a.fStyle,r),a}},225:{f:function(e,t){return 0===t||e.read_shift(2),1200}},226:{f:Nn},227:{},229:{f:function(e,t){for(var r=[],a=e.read_shift(2);a--;)r.push(ts(e));return r}},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:function(e,t){for(var r=e.l+t,a=e.read_shift(4),n=e.read_shift(4),s=[],i=0;i!=n&&e.l255)throw new Error("Unexpected SupBook type: "+s);for(var i=zn(e,s),o=[];a>e.l;)o.push(Vn(e));return[s,n,i,o]}},431:{f:Dn},432:{},433:{},434:{},437:{},438:{f:function(e,t,r){var a=e.l,n="";try{e.l+=4;var s=(r.lastobj||{cmo:[0,0]}).cmo[1];-1==[0,5,7,11,12,14].indexOf(s)?e.l+=6:function(e){var t=e.read_shift(1);e.l++;var r=e.read_shift(2);e.l+=2}(e);var i=e.read_shift(2);e.read_shift(2),Pn(e);var o=e.read_shift(2);e.l+=o;for(var c=1;c=(l?i:2*i))break}if(n.length!==i&&n.length!==2*i)throw new Error("cchText: "+i+" != "+n.length);return e.l=a+t,{t:n}}catch(r){return e.l=a+t,{t:n}}}},439:{f:Dn},440:{f:function(e,t){var r=ts(e);e.l+=16;var a=function(e,t){var r=e.l+t,a=e.read_shift(4);if(2!==a)throw new Error("Unrecognized streamVersion: "+a);var n=e.read_shift(2);e.l+=2;var s,i,o,c,l,f,h="";16&n&&(s=Xn(e,e.l)),128&n&&(i=Xn(e,e.l)),257&~n||(o=Xn(e,e.l)),1==(257&n)&&(c=function(e){var t=e.read_shift(16);switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return function(e){var t=e.read_shift(4),r=e.l,a=!1;t>24&&(e.l+=t-24,"795881f43b1d7f48af2c825dc4852763"===e.read_shift(16)&&(a=!0),e.l=r);var n=e.read_shift((a?t-24:t)>>1,"utf16le").replace(I,"");return a&&(e.l+=24),n}(e);case"0303000000000000c000000000000046":return function(e){for(var t=e.read_shift(2),r="";t-- >0;)r+="../";var a=e.read_shift(0,"lpstr-ansi");if(e.l+=2,57005!=e.read_shift(2))throw new Error("Bad FileMoniker");if(0===e.read_shift(4))return r+a.replace(/\\/g,"/");var n=e.read_shift(4);if(3!=e.read_shift(2))throw new Error("Bad FileMoniker");return r+e.read_shift(n>>1,"utf16le").replace(I,"")}(e);default:throw new Error("Unsupported Moniker "+t)}}(e,e.l)),8&n&&(h=Xn(e,e.l)),32&n&&(l=e.read_shift(16)),64&n&&(f=gn(e)),e.l=r;var u=i||o||c||"";u&&h&&(u+="#"+h),u||(u="#"+h),2&n&&"/"==u.charAt(0)&&"/"!=u.charAt(1)&&(u="file://"+u);var d={Target:u};return l&&(d.guid=l),f&&(d.time=f),s&&(d.Tooltip=s),d}(e,t-24);return[r,a]}},441:{},442:{f:Vn},443:{},444:{f:Pn},445:{},446:{},448:{f:Nn},449:{f:function(e){return e.read_shift(2),e.read_shift(4)},r:2},450:{f:Nn},512:{f:ps},513:{f:xs},515:{f:function(e,t,r){r.biffguess&&2==r.biff&&(r.biff=5);var a=qn(e),n=_a(e);return a.val=n,a}},516:{f:function(e,t,r){r.biffguess&&2==r.biff&&(r.biff=5),e.l;var a=qn(e);2==r.biff&&e.l++;var n=Vn(e,e.l,r);return a.val=n,a}},517:{f:gs},519:{f:Os},520:{f:function(e){var t={};t.r=e.read_shift(2),t.c=e.read_shift(2),t.cnt=e.read_shift(2)-t.c;var r=e.read_shift(2);e.l+=4;var a=e.read_shift(1);return e.l+=3,7&a&&(t.level=7&a),32&a&&(t.hidden=!0),64&a&&(t.hpt=r/20),t}},523:{},545:{f:Ss},549:{f:hs},566:{},574:{f:function(e,t,r){return r&&r.biff>=2&&r.biff<5?{}:{RTL:64&e.read_shift(2)}}},638:{f:function(e){var t=e.read_shift(2),r=e.read_shift(2),a=es(e);return{r:t,c:r,ixfe:a[0],rknum:a[1]}}},659:{},1048:{},1054:{f:function(e,t,r){return[e.read_shift(2),Gn(e,0,r)]}},1084:{},1212:{f:function(e,t,r){var a=as(e);e.l++;var n=e.read_shift(1);return[Bo(e,t-=8,r),n,a]}},2048:{f:function(e,t){e.read_shift(2);var r=ts(e),a=e.read_shift((t-10)/2,"dbcs-cont");return[r,a=a.replace(I,"")]}},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:cs},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Nn},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:function(e){e.l+=2;var t={cxfs:0,crc:0};return t.cxfs=e.read_shift(2),t.crc=e.read_shift(4),t},r:12},2173:{f:function(e,t){e.l,e.l+=2;var r=e.read_shift(2);e.l+=2;for(var a=e.read_shift(2),n=[];a-- >0;)n.push(Xi(e,e.l));return{ixfe:r,ext:n}},r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:Dn,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:function(e,t,r){if(!(r.biff<8)){var a=e.read_shift(2),n=e.read_shift(2);return[zn(e,a,r),zn(e,n,r)]}e.l+=t},r:12},2197:{},2198:{f:function(e,t,r){var a=e.l+t;if(124226!==e.read_shift(4))if(r.cellStyles){var n,s=e.slice(e.l);e.l=a;try{n=ht(s,{type:"array"})}catch(e){return}var i=it(n,"theme/theme/theme1.xml",!0);if(i)return Gi(i,r)}else e.l=a},r:12},2199:{},2200:{},2201:{},2202:{f:function(e){return[0!==e.read_shift(4),0!==e.read_shift(4),e.read_shift(4)]},r:12},2203:{f:Nn},2204:{},2205:{},2206:{},2207:{},2211:{f:function(e){var t=function(e){var t=e.read_shift(2),r=e.read_shift(2);return e.l+=8,{type:t,flags:r}}(e);if(2211!=t.type)throw new Error("Invalid Future Record "+t.type);return 0!==e.read_shift(4)}},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:Pn},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:function(e,t,r){var a={area:!1};if(5!=r.biff)return e.l+=t,a;var n=e.read_shift(1);return e.l+=3,16&n&&(a.area=!0),a}},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:function(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(Jn(e));return r}},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:ps},1:{},2:{f:function(e){var t=qn(e);++e.l;var r=e.read_shift(2);return t.t="n",t.val=r,t}},3:{f:function(e){var t=qn(e);++e.l;var r=_a(e);return t.t="n",t.val=r,t}},4:{f:function(e,t,r){r.biffguess&&5==r.biff&&(r.biff=2);var a=qn(e);++e.l;var n=Gn(e,0,r);return a.t="str",a.val=n,a}},5:{f:gs},7:{f:function(e){var t=e.read_shift(1);return 0===t?(e.l++,""):e.read_shift(t,"sbcs-cont")}},8:{},9:{f:cs},11:{},22:{f:Pn},30:{f:ds},31:{},32:{},33:{f:Ss},36:{},37:{f:hs},50:{f:function(e,t){e.l+=6,e.l+=2,e.l+=1,e.l+=3,e.l+=1,e.l+=t-13}},62:{},52:{},67:{},68:{f:Pn},69:{},86:{},126:{},127:{f:function(e){var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n={fmt:t,env:r,len:a,data:e.slice(e.l,e.l+a)};return e.l+=a,n}},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:function(e,t,r){var a=e.l+t,n=qn(e),s=e.read_shift(2),i=zn(e,s,r);return e.l=a,n.t="str",n.val=i,n}},223:{},234:{},354:{},421:{},518:{f:Wo},521:{f:cs},536:{f:Ts},547:{f:bs},561:{},579:{},1030:{f:Wo},1033:{f:cs},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function Sl(e,t,r,a){var n=t;if(!isNaN(n)){var s=a||(r||[]).length||0,i=e.next(4);i.write_shift(2,n),i.write_shift(2,s),s>0&&Tr(r)&&e.push(r)}}function yl(e,t,r){return e||(e=Lr(7)),e.write_shift(2,t),e.write_shift(2,r),e.write_shift(2,0),e.write_shift(1,0),e}function kl(e,t,r,a){if(null!=t.v)switch(t.t){case"d":case"n":var n="d"==t.t?Ue($e(t.v)):t.v;return void(n==(0|n)&&n>=0&&n<65536?Sl(e,2,(s=r,i=a,o=n,c=Lr(9),yl(c,s,i),c.write_shift(2,o),c)):Sl(e,3,function(e,t,r){var a=Lr(15);return yl(a,e,t),a.write_shift(8,r,"f"),a}(r,a,n)));case"b":case"e":return void Sl(e,5,function(e,t,r,a){var n=Lr(9);return yl(n,e,t),Un(r,a||"b",n),n}(r,a,t.v,t.t));case"s":case"str":return void Sl(e,4,function(e,t,r){var a=Lr(8+2*r.length);return yl(a,e,t),a.write_shift(1,r.length),a.write_shift(r.length,r,"sbcs"),a.l255||m.e.r>=g){if(t.WTF)throw new Error("Range "+(c["!ref"]||"A1")+" exceeds format limit A1:IV16384");m.e.c=Math.min(m.e.c,255),m.e.r=Math.min(m.e.c,g-1)}Sl(i,2057,ls(0,16,t)),Sl(i,13,Ln(1)),Sl(i,12,Ln(100)),Sl(i,15,Fn(!0)),Sl(i,17,Fn(!1)),Sl(i,16,Aa(.001)),Sl(i,95,Fn(!0)),Sl(i,42,Fn(!1)),Sl(i,43,Fn(!1)),Sl(i,130,Ln(1)),Sl(i,128,(n=[0,0],(s=Lr(8)).write_shift(4,0),s.write_shift(2,n[0]?n[0]+1:0),s.write_shift(2,n[1]?n[1]+1:0),s)),Sl(i,131,Fn(!1)),Sl(i,132,Fn(!1)),u&&function(e,t){if(t){var r=0;t.forEach(function(t,a){++r<=256&&t&&Sl(e,125,function(e,t){var r=Lr(12);r.write_shift(2,t),r.write_shift(2,t),r.write_shift(2,256*e.width),r.write_shift(2,0);var a=0;return e.hidden&&(a|=1),r.write_shift(1,a),a=e.level||0,r.write_shift(1,a),r.write_shift(2,0),r}(ac(a,t),a))})}}(i,c["!cols"]),Sl(i,512,function(e,t){var r=8!=t.biff&&t.biff?2:4,a=Lr(2*r+6);return a.write_shift(r,e.s.r),a.write_shift(r,e.e.r+1),a.write_shift(2,e.s.c),a.write_shift(2,e.e.c+1),a.write_shift(2,0),a}(m,t)),u&&(c["!links"]=[]);for(var v=m.s.r;v<=m.e.r;++v){d=jr(v);for(var b=m.s.c;b<=m.e.c;++b){v===m.s.r&&(p[b]=$r(b)),a=p[b]+d;var w=h?(c[v]||[])[b]:c[a];w&&(_l(i,w,v,b,t),u&&w.l&&c["!links"].push([a,w.l]))}}var T=f.CodeName||f.name||o;return u&&Sl(i,574,function(e){var t=Lr(18),r=1718;return e&&e.RTL&&(r|=64),t.write_shift(2,r),t.write_shift(4,0),t.write_shift(4,64),t.write_shift(4,0),t.write_shift(4,0),t}((l.Views||[])[0])),u&&(c["!merges"]||[]).length&&Sl(i,229,function(e){var t=Lr(2+8*e.length);t.write_shift(2,e.length);for(var r=0;r255&&"undefined"!=typeof console&&console.error&&console.error("Worksheet '"+e.SheetNames[r]+"' extends beyond column IV (255). Data may be lost.")}var n=t||{};switch(n.biff||2){case 8:case 5:return function(e,t){var r=t||{},a=[];e&&!e.SSF&&(e.SSF=Ke(z)),e&&e.SSF&&(ye(),Se(e.SSF),r.revssf=Le(e.SSF),r.revssf[e.SSF[65535]]=0,r.ssf=e.SSF),r.Strings=[],r.Strings.Count=0,r.Strings.Unique=0,wf(r),r.cellXfs=[],sc(r.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});for(var n=0;n255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(t["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255),i.e.r=Math.min(i.e.c,16383),n=qr(i)}for(var l=i.s.r;l<=i.e.r;++l){o=jr(l);for(var f=i.s.c;f<=i.e.c;++f){l===i.s.r&&(c[f]=$r(f)),n=c[f]+o;var h=s?(t[l]||[])[f]:t[n];h&&kl(e,h,l,f)}}}(a,e.Sheets[e.SheetNames[n]],0,r),Sl(a,10),a.end()}(e,t)}throw new Error("invalid type "+n.bookType+" for BIFF")}function Ol(e,t){var r=t||{};null!=b&&null==r.dense&&(r.dense=b);var a=r.dense?[]:{},n=(e=e.replace(//g,"")).match(/");var s=e.match(/<\/table/i),i=n.index,o=s&&s.index||e.length,c=et(e.slice(i,o),/(:?]*>)/i,""),l=-1,f=0,h=0,u=0,d={s:{r:1e7,c:1e7},e:{r:0,c:0}},p=[];for(i=0;i/i);for(o=0;o"))>-1;)T=T.slice(E+1);for(var S=0;S")));u=k.colspan?+k.colspan:1,((h=+k.rowspan)>1||u>1)&&p.push({s:{r:l,c:f},e:{r:l+(h||1)-1,c:f+u-1}});var _=k.t||k["data-t"]||"";if(T.length)if(T=Bt(T),d.s.r>l&&(d.s.r=l),d.e.rf&&(d.s.c=f),d.e.cr||n[l].s.c>i||n[l].e.r1&&(d.rowspan=o),c>1&&(d.colspan=c),a.editable?u=''+u+"":h&&(d["data-t"]=h&&h.t||"z",null!=h.v&&(d["data-v"]=h.v),null!=h.z&&(d["data-z"]=h.z),h.l&&"#"!=(h.l.Target||"#").charAt(0)&&(u=''+u+"")),d.id=(a.id||"sjs")+"-"+f,s.push($t("td",u,d))}}return""+s.join("")+""}var Il='SheetJS Table Export',Nl="";function Dl(e,t,r){return[].join("")+""}function Fl(e,t){var r=t||{},a=null!=r.header?r.header:Il,n=null!=r.footer?r.footer:Nl,s=[a],i=Jr(e["!ref"]);r.dense=Array.isArray(e),s.push(Dl(0,0,r));for(var o=i.s.r;o<=i.e.r;++o)s.push(Rl(e,i,o,r));return s.push("
"+n),s.join("")}function Pl(e,t,r){var a=r||{};null!=b&&(a.dense=b);var n=0,s=0;if(null!=a.origin)if("number"==typeof a.origin)n=a.origin;else{var i="string"==typeof a.origin?Yr(a.origin):a.origin;n=i.r,s=i.c}var o=t.getElementsByTagName("tr"),c=Math.min(a.sheetRows||1e7,o.length),l={s:{r:0,c:0},e:{r:n,c:s}};if(e["!ref"]){var f=Jr(e["!ref"]);l.s.r=Math.min(l.s.r,f.s.r),l.s.c=Math.min(l.s.c,f.s.c),l.e.r=Math.max(l.e.r,f.e.r),l.e.c=Math.max(l.e.c,f.e.c),-1==n&&(l.e.r=n=f.e.r+1)}var h=[],u=0,d=e["!rows"]||(e["!rows"]=[]),p=0,m=0,g=0,v=0,w=0,T=0;for(e["!cols"]||(e["!cols"]=[]);p1||T>1)&&h.push({s:{r:m+n,c:v+s},e:{r:m+n+(w||1)-1,c:v+s+(T||1)-1}});var x={t:"s",v:k},C=y.getAttribute("data-t")||y.getAttribute("t")||"";null!=k&&(0==k.length?x.t=C||"z":a.raw||0==k.trim().length||"s"==C||("TRUE"===k?x={t:"b",v:!0}:"FALSE"===k?x={t:"b",v:!1}:isNaN(qe(k))?isNaN(Qe(k).getDate())||(x={t:"d",v:$e(k)},a.cellDates||(x={t:"n",v:Ue(x.v)}),x.z=a.dateNF||z[14]):x={t:"n",v:qe(k)})),void 0===x.z&&null!=_&&(x.z=_);var O="",R=y.getElementsByTagName("A");if(R&&R.length)for(var I=0;I=c&&(e["!fullref"]=qr((l.e.r=o.length-p+m-1+n,l))),e}function Ll(e,t){return Pl((t||{}).dense?[]:{},e,t)}function Ml(e){var t="",r=function(e){return e.ownerDocument.defaultView&&"function"==typeof e.ownerDocument.defaultView.getComputedStyle?e.ownerDocument.defaultView.getComputedStyle:"function"==typeof getComputedStyle?getComputedStyle:null}(e);return r&&(t=r(e).getPropertyValue("display")),t||(t=e.style&&e.style.display),"none"===t}function Ul(e){var t=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,t){return Array(parseInt(t,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");return[yt(t.replace(/<[^>]*>/g,""))]}var Bl={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function Wl(e,t){var r=t||{};null!=b&&null==r.dense&&(r.dense=b);var a,n,s,i,o,c,l=Kt(e),f=[],h={name:""},u="",d=0,p={},m=[],g=r.dense?[]:{},v={value:""},w="",T=0,E=[],S=-1,y=-1,k={s:{r:1e6,c:1e7},e:{r:0,c:0}},_=0,A={},x=[],C={},O=[],R=1,I=1,N=[],D={Names:[]},F={},P=["",""],L=[],M={},U="",B=0,W=!1,H=!1,z=0;for(Jt.lastIndex=0,l=l.replace(//gm,"").replace(//gm,"");o=Jt.exec(l);)switch(o[3]=o[3].replace(/_.*$/,"")){case"table":case"工作表":"/"===o[1]?(k.e.c>=k.s.c&&k.e.r>=k.s.r?g["!ref"]=qr(k):g["!ref"]="A1:A1",r.sheetRows>0&&r.sheetRows<=k.e.r&&(g["!fullref"]=g["!ref"],k.e.r=r.sheetRows-1,g["!ref"]=qr(k)),x.length&&(g["!merges"]=x),O.length&&(g["!rows"]=O),s.name=s["名称"]||s.name,"undefined"!=typeof JSON&&JSON.stringify(s),m.push(s.name),p[s.name]=g,H=!1):"/"!==o[0].charAt(o[0].length-2)&&(s=wt(o[0],!1),S=y=-1,k.s.r=k.s.c=1e7,k.e.r=k.e.c=0,g=r.dense?[]:{},x=[],O=[],H=!0);break;case"table-row-group":"/"===o[1]?--_:++_;break;case"table-row":case"行":if("/"===o[1]){S+=R,R=1;break}if((i=wt(o[0],!1))["行号"]?S=i["行号"]-1:-1==S&&(S=0),(R=+i["number-rows-repeated"]||1)<10)for(z=0;z0&&(O[S+z]={level:_});y=-1;break;case"covered-table-cell":"/"!==o[1]&&++y,r.sheetStubs&&(r.dense?(g[S]||(g[S]=[]),g[S][y]={t:"z"}):g[Kr({r:S,c:y})]={t:"z"}),w="",E=[];break;case"table-cell":case"数据":if("/"===o[0].charAt(o[0].length-2))++y,v=wt(o[0],!1),I=parseInt(v["number-columns-repeated"]||"1",10),c={t:"z",v:null},v.formula&&0!=r.cellFormula&&(c.f=Ko(yt(v.formula))),"string"==(v["数据类型"]||v["value-type"])&&(c.t="s",c.v=yt(v["string-value"]||""),r.dense?(g[S]||(g[S]=[]),g[S][y]=c):g[Kr({r:S,c:y})]=c),y+=I-1;else if("/"!==o[1]){w="",T=0,E=[],I=1;var V=R?S+R-1:S;if(++y>k.e.c&&(k.e.c=y),yk.e.r&&(k.e.r=V),L=[],M={},c={t:(v=wt(o[0],!1))["数据类型"]||v["value-type"],v:null},r.cellFormula)if(v.formula&&(v.formula=yt(v.formula)),v["number-matrix-columns-spanned"]&&v["number-matrix-rows-spanned"]&&(C={s:{r:S,c:y},e:{r:S+(parseInt(v["number-matrix-rows-spanned"],10)||0)-1,c:y+(parseInt(v["number-matrix-columns-spanned"],10)||0)-1}},c.F=qr(C),N.push([C,c.F])),v.formula)c.f=Ko(v.formula);else for(z=0;z=N[z][0].s.r&&S<=N[z][0].e.r&&y>=N[z][0].s.c&&y<=N[z][0].e.c&&(c.F=N[z][1]);switch((v["number-columns-spanned"]||v["number-rows-spanned"])&&(C={s:{r:S,c:y},e:{r:S+(parseInt(v["number-rows-spanned"],10)||0)-1,c:y+(parseInt(v["number-columns-spanned"],10)||0)-1}},x.push(C)),v["number-columns-repeated"]&&(I=parseInt(v["number-columns-repeated"],10)),c.t){case"boolean":c.t="b",c.v=It(v["boolean-value"]);break;case"float":case"percentage":case"currency":c.t="n",c.v=parseFloat(v.value);break;case"date":c.t="d",c.v=$e(v["date-value"]),r.cellDates||(c.t="n",c.v=Ue(c.v)),c.z="m/d/yy";break;case"time":c.t="n",c.v=Ve(v["time-value"])/86400,r.cellDates&&(c.t="d",c.v=ze(c.v)),c.z="HH:MM:SS";break;case"number":c.t="n",c.v=parseFloat(v["数据数值"]);break;default:if("string"!==c.t&&"text"!==c.t&&c.t)throw new Error("Unsupported value type "+c.t);c.t="s",null!=v["string-value"]&&(w=yt(v["string-value"]),E=[])}}else{if(W=!1,"s"===c.t&&(c.v=w||"",E.length&&(c.R=E),W=0==T),F.Target&&(c.l=F),L.length>0&&(c.c=L,L=[]),w&&!1!==r.cellText&&(c.w=w),W&&(c.t="z",delete c.v),(!W||r.sheetStubs)&&!(r.sheetRows&&r.sheetRows<=S))for(var G=0;G0;)g[S+G][y+I]=Ke(c);else for(g[Kr({r:S+G,c:y})]=c;--I>0;)g[Kr({r:S+G,c:y+I})]=Ke(c);k.e.c<=y&&(k.e.c=y)}y+=(I=parseInt(v["number-columns-repeated"]||"1",10))-1,I=0,c={},w="",E=[]}F={};break;case"document":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":case"font-face-decls":case"master-styles":if("/"===o[1]){if((a=f.pop())[0]!==o[3])throw"Bad state: "+a}else"/"!==o[0].charAt(o[0].length-2)&&f.push([o[3],!0]);break;case"annotation":if("/"===o[1]){if((a=f.pop())[0]!==o[3])throw"Bad state: "+a;M.t=w,E.length&&(M.R=E),M.a=U,L.push(M)}else"/"!==o[0].charAt(o[0].length-2)&&f.push([o[3],!1]);U="",B=0,w="",T=0,E=[];break;case"creator":"/"===o[1]?U=l.slice(B,o.index):B=o.index+o[0].length;break;case"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"event-listeners":case"chart":if("/"===o[1]){if((a=f.pop())[0]!==o[3])throw"Bad state: "+a}else"/"!==o[0].charAt(o[0].length-2)&&f.push([o[3],!1]);w="",T=0,E=[];break;case"scientific-number":case"currency-symbol":case"currency-style":case"script":case"libraries":case"automatic-styles":case"default-style":case"page-layout":case"style":case"map":case"font-face":case"paragraph-properties":case"table-properties":case"table-column-properties":case"table-row-properties":case"table-cell-properties":case"fraction":case"boolean-style":case"boolean":case"text-style":case"text-content":case"text-properties":case"embedded-text":case"body":case"电子表格":case"forms":case"table-column":case"table-header-rows":case"table-rows":case"table-column-group":case"table-header-columns":case"table-columns":case"null-date":case"graphic-properties":case"calculation-settings":case"named-expressions":case"label-range":case"label-ranges":case"named-expression":case"sort":case"sort-by":case"sort-groups":case"tab":case"line-break":case"span":case"s":case"date":case"object":case"title":case"标题":case"desc":case"binary-data":case"table-source":case"scenario":case"iteration":case"content-validations":case"content-validation":case"help-message":case"error-message":case"database-ranges":case"filter":case"filter-and":case"filter-or":case"filter-condition":case"list-level-style-bullet":case"list-level-style-number":case"list-level-properties":case"sender-firstname":case"sender-lastname":case"sender-initials":case"sender-title":case"sender-position":case"sender-email":case"sender-phone-private":case"sender-fax":case"sender-company":case"sender-phone-work":case"sender-street":case"sender-city":case"sender-postal-code":case"sender-country":case"sender-state-or-province":case"author-name":case"author-initials":case"chapter":case"file-name":case"template-name":case"sheet-name":case"event-listener":case"initial-creator":case"creation-date":case"print-date":case"generator":case"document-statistic":case"user-defined":case"editing-duration":case"editing-cycles":case"config-item":case"page-number":case"page-count":case"time":case"cell-range-source":case"detective":case"operation":case"highlighted-range":case"data-pilot-table":case"source-cell-range":case"source-service":case"data-pilot-field":case"data-pilot-level":case"data-pilot-subtotals":case"data-pilot-subtotal":case"data-pilot-members":case"data-pilot-member":case"data-pilot-display-info":case"data-pilot-sort-info":case"data-pilot-layout-info":case"data-pilot-field-reference":case"data-pilot-groups":case"data-pilot-group":case"data-pilot-group-member":case"rect":case"dde-connection-decls":case"dde-connection-decl":case"dde-link":case"dde-source":case"properties":case"property":case"table-protection":case"data-pilot-grand-total":case"office-document-common-attrs":break;case"number-style":case"percentage-style":case"date-style":case"time-style":if("/"===o[1]){if(A[h.name]=u,(a=f.pop())[0]!==o[3])throw"Bad state: "+a}else"/"!==o[0].charAt(o[0].length-2)&&(u="",h=wt(o[0],!1),f.push([o[3],!0]));break;case"number":case"day":case"month":case"year":case"era":case"day-of-week":case"week-of-year":case"quarter":case"hours":case"minutes":case"seconds":case"am-pm":switch(f[f.length-1][0]){case"time-style":case"date-style":n=wt(o[0],!1),u+=Bl[o[3]]["long"===n.style?1:0]}break;case"text":if("/>"===o[0].slice(-2))break;if("/"===o[1])switch(f[f.length-1][0]){case"number-style":case"date-style":case"time-style":u+=l.slice(d,o.index)}else d=o.index+o[0].length;break;case"named-range":P=qo((n=wt(o[0],!1))["cell-range-address"]);var j={Name:n.name,Ref:P[0]+"!"+P[1]};H&&(j.Sheet=m.length),D.Names.push(j);break;case"p":case"文本串":if(["master-styles"].indexOf(f[f.length-1][0])>-1)break;if("/"!==o[1]||v&&v["string-value"])wt(o[0],!1),T=o.index+o[0].length;else{var X=Ul(l.slice(T,o.index));w=(w.length>0?w+"\n":"")+X[0]}break;case"database-range":if("/"===o[1])break;try{p[(P=qo(wt(o[0])["target-range-address"]))[0]]["!autofilter"]={ref:P[1]}}catch(e){}break;case"a":if("/"!==o[1]){if(!(F=wt(o[0],!1)).href)break;F.Target=yt(F.href),delete F.href,"#"==F.Target.charAt(0)&&F.Target.indexOf(".")>-1?(P=qo(F.Target.slice(1)),F.Target="#"+P[0]+"!"+P[1]):F.Target.match(/^\.\.[\\\/]/)&&(F.Target=F.Target.slice(3))}break;default:switch(o[2]){case"dc:":case"calcext:":case"loext:":case"ooo:":case"chartooo:":case"draw:":case"style:":case"chart:":case"form:":case"uof:":case"表:":case"字:":break;default:if(r.WTF)throw new Error(o)}}var $={Sheets:p,SheetNames:m,Workbook:D};return r.bookSheets&&delete $.Sheets,$}function Hl(e,t){t=t||{},at(e,"META-INF/manifest.xml")&&function(e,t){for(var r,a,n=Kt(e);r=Jt.exec(n);)switch(r[3]){case"manifest":break;case"file-entry":if("/"==(a=wt(r[0],!1)).path&&a.type!==qa)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":case"algorithm":case"start-key-generation":case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(t&&t.WTF)throw r}}(st(e,"META-INF/manifest.xml"),t);var r=it(e,"content.xml");if(!r)throw new Error("Missing content.xml in ODS / UOF file");var a=Wl(Lt(r),t);return at(e,"meta.xml")&&(a.Props=an(st(e,"meta.xml"))),a}function zl(e,t){return Wl(e,t)}var Vl=function(){var e=["",'',"",'',"",'',"",""].join(""),t=""+e+"";return function(){return dt+t}}(),Gl=function(){var e=function(e){return At(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")},t=" \n",r=function(r,a,n){var s=[];s.push(' \n');var i=0,o=0,c=Jr(r["!ref"]||"A1"),l=r["!merges"]||[],f=0,h=Array.isArray(r);if(r["!cols"])for(o=0;o<=c.e.c;++o)s.push(" \n");var u="",d=r["!rows"]||[];for(i=0;i\n");for(;i<=c.e.r;++i){for(u=d[i]?' table:style-name="ro'+d[i].ods+'"':"",s.push(" \n"),o=0;oo||l[f].s.r>i||l[f].e.c\n");else{var v=Kr({r:i,c:o}),b=h?(r[i]||[])[o]:r[v];if(b&&b.f&&(m["table:formula"]=At(Jo(b.f)),b.F&&b.F.slice(0,v.length)==v)){var w=Jr(b.F);m["table:number-matrix-columns-spanned"]=w.e.c-w.s.c+1,m["table:number-matrix-rows-spanned"]=w.e.r-w.s.r+1}if(b){switch(b.t){case"b":g=b.v?"TRUE":"FALSE",m["office:value-type"]="boolean",m["office:boolean-value"]=b.v?"true":"false";break;case"n":g=b.w||String(b.v||0),m["office:value-type"]="float",m["office:value"]=b.v||0;break;case"s":case"str":g=null==b.v?"":b.v,m["office:value-type"]="string";break;case"d":g=b.w||$e(b.v).toISOString(),m["office:value-type"]="date",m["office:date-value"]=$e(b.v).toISOString(),m["table:style-name"]="ce1";break;default:s.push(t);continue}var T=e(g);if(b.l&&b.l.Target){var E=b.l.Target;"#"==(E="#"==E.charAt(0)?"#"+Zo(E.slice(1)):E).charAt(0)||E.match(/^\w+:/)||(E="../"+E),T=$t("text:a",T,{"xlink:href":E.replace(/&/g,"&")})}s.push(" "+$t("table:table-cell",$t("text:p",T,{}),m)+"\n")}else s.push(t)}}s.push(" \n")}return s.push(" \n"),s.join("")};return function(e,t){var a=[dt],n=Xt({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"}),s=Xt({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});"fods"==t.bookType?(a.push("\n"),a.push(en().replace(/office:document-meta/g,"office:meta"))):a.push("\n"),function(e,t){e.push(" \n"),e.push(' \n'),e.push(' \n'),e.push(" /\n"),e.push(' \n'),e.push(" /\n"),e.push(" \n"),e.push(" \n");var r=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!cols"])for(var a=0;a\n'),e.push(' \n'),e.push(" \n"),++r}});var a=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!rows"])for(var r=0;r\n'),e.push(' \n'),e.push(" \n"),++a}}),e.push(' \n'),e.push(' \n'),e.push(" \n"),e.push(' \n'),e.push(" \n")}(a,e),a.push(" \n"),a.push(" \n");for(var i=0;i!=e.SheetNames.length;++i)a.push(r(e.Sheets[e.SheetNames[i]],e,i));return a.push(" \n"),a.push(" \n"),"fods"==t.bookType?a.push(""):a.push(""),a.join("")}}();function jl(e,t){if("fods"==t.bookType)return Gl(e,t);var r=ft(),a="",n=[],s=[];return lt(r,a="mimetype","application/vnd.oasis.opendocument.spreadsheet"),lt(r,a="content.xml",Gl(e,t)),n.push([a,"text/xml"]),s.push([a,"ContentFile"]),lt(r,a="styles.xml",Vl(e,t)),n.push([a,"text/xml"]),s.push([a,"StylesFile"]),lt(r,a="meta.xml",dt+en()),n.push([a,"text/xml"]),s.push([a,"MetadataFile"]),lt(r,a="manifest.rdf",function(e){var t=[dt];t.push('\n');for(var r=0;r!=e.length;++r)t.push(Za(e[r][0],e[r][1])),t.push(Qa("",e[r][0]));return t.push(Za("","Document","pkg")),t.push(""),t.join("")}(s)),n.push([a,"application/rdf+xml"]),lt(r,a="META-INF/manifest.xml",function(e){var t=[dt];t.push('\n'),t.push(' \n');for(var r=0;r\n');return t.push(""),t.join("")}(n)),r}function Xl(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function $l(e){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(e):Lt(C(e))}function Yl(e){return"undefined"!=typeof TextEncoder?(new TextEncoder).encode(e):A(Mt(e))}function Kl(e){var t=e.reduce(function(e,t){return e+t.length},0),r=new Uint8Array(t),a=0;return e.forEach(function(e){r.set(e,a),a+=e.length}),r}function Jl(e){return 16843009*((e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135)>>>24}function ql(e,t){var r=t?t[0]:0,a=127&e[r];e:if(e[r++]>=128){if(a|=(127&e[r])<<7,e[r++]<128)break e;if(a|=(127&e[r])<<14,e[r++]<128)break e;if(a|=(127&e[r])<<21,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,28),++r,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,35),++r,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,42),++r,e[r++]<128)break e}return t&&(t[0]=r),a}function Zl(e){var t=new Uint8Array(7);t[0]=127&e;var r=1;e:if(e>127){if(t[r-1]|=128,t[r]=e>>7&127,++r,e<=16383)break e;if(t[r-1]|=128,t[r]=e>>14&127,++r,e<=2097151)break e;if(t[r-1]|=128,t[r]=e>>21&127,++r,e<=268435455)break e;if(t[r-1]|=128,t[r]=e/256>>>21&127,++r,e<=34359738367)break e;if(t[r-1]|=128,t[r]=e/65536>>>21&127,++r,e<=4398046511103)break e;t[r-1]|=128,t[r]=e/16777216>>>21&127,++r}return t.slice(0,r)}function Ql(e){var t=0,r=127&e[t];e:if(e[t++]>=128){if(r|=(127&e[t])<<7,e[t++]<128)break e;if(r|=(127&e[t])<<14,e[t++]<128)break e;if(r|=(127&e[t])<<21,e[t++]<128)break e;r|=(127&e[t])<<28}return r}function ef(e){for(var t=[],r=[0];r[0]=128;);a=e.slice(c,r[0]);break;case 5:o=4,a=e.slice(r[0],r[0]+o),r[0]+=o;break;case 1:o=8,a=e.slice(r[0],r[0]+o),r[0]+=o;break;case 2:o=ql(e,r),a=e.slice(r[0],r[0]+o),r[0]+=o;break;default:throw new Error("PB Type ".concat(i," for Field ").concat(s," at offset ").concat(n))}var l={data:a,type:i};null==t[s]?t[s]=[l]:t[s].push(l)}return t}function tf(e){var t=[];return e.forEach(function(e,r){e.forEach(function(e){e.data&&(t.push(Zl(8*r+e.type)),2==e.type&&t.push(Zl(e.data.length)),t.push(e.data))})}),Kl(t)}function rf(e,t){return(null==e?void 0:e.map(function(e){return t(e.data)}))||[]}function af(e){for(var t,r=[],a=[0];a[0]>>0>0),r.push(i)}return r}function nf(e){var t=[];return e.forEach(function(e){var r=[];r[1]=[{data:Zl(e.id),type:0}],r[2]=[],null!=e.merge&&(r[3]=[{data:Zl(+!!e.merge),type:0}]);var a=[];e.messages.forEach(function(e){a.push(e.data),e.meta[3]=[{type:0,data:Zl(e.data.length)}],r[2].push({data:tf(e.meta),type:2})});var n=tf(r);t.push(Zl(n.length)),t.push(n),a.forEach(function(e){return t.push(e)})}),Kl(t)}function sf(e,t){if(0!=e)throw new Error("Unexpected Snappy chunk type ".concat(e));for(var r=[0],a=ql(t,r),n=[];r[0]>2&7),i=(224&t[r[0]++])<<3,i|=t[r[0]++]):(o=1+(t[r[0]++]>>2),2==s?(i=t[r[0]]|t[r[0]+1]<<8,r[0]+=2):(i=(t[r[0]]|t[r[0]+1]<<8|t[r[0]+2]<<16|t[r[0]+3]<<24)>>>0,r[0]+=4)),n=[Kl(n)],0==i)throw new Error("Invalid offset 0");if(i>n[0].length)throw new Error("Invalid offset beyond length");if(o>=i)for(n.push(n[0].slice(-i)),o-=i;o>=n[n.length-1].length;)n.push(n[n.length-1]),o-=n[n.length-1].length;n.push(n[0].slice(-i,-i+o))}else{var c=t[r[0]++]>>2;if(c<60)++c;else{var l=c-59;c=t[r[0]],l>1&&(c|=t[r[0]+1]<<8),l>2&&(c|=t[r[0]+2]<<16),l>3&&(c|=t[r[0]+3]<<24),c>>>=0,c++,r[0]+=l}n.push(t.slice(r[0],r[0]+c)),r[0]+=c}}var f=Kl(n);if(f.length!=a)throw new Error("Unexpected length: ".concat(f.length," != ").concat(a));return f}function of(e){for(var t=[],r=0;r>8&255]))):a<=16777216?(i+=4,t.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))):a<=4294967296&&(i+=5,t.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))),t.push(e.slice(r,r+a)),i+=a,n[0]=0,n[1]=255&i,n[2]=i>>8&255,n[3]=i>>16&255,r+=a}return Kl(t)}function lf(e,t){var r=new Uint8Array(32),a=Xl(r),n=12,s=0;switch(r[0]=5,e.t){case"n":r[1]=2,function(e,t,r){var a=Math.floor(0==r?0:Math.LOG10E*Math.log(Math.abs(r)))+6176-20,n=r/Math.pow(10,a-6176);e[t+15]|=a>>7,e[t+14]|=(127&a)<<1;for(var s=0;n>=1;++s,n/=256)e[t+s]=255&n;e[t+15]|=r>=0?0:128}(r,n,e.v),s|=1,n+=16;break;case"b":r[1]=6,a.setFloat64(n,e.v?1:0,!0),s|=2,n+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));r[1]=3,a.setUint32(n,t.indexOf(e.v),!0),s|=8,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(8,s,!0),r.slice(0,n)}function ff(e,t){var r=new Uint8Array(32),a=Xl(r),n=12,s=0;switch(r[0]=3,e.t){case"n":r[2]=2,a.setFloat64(n,e.v,!0),s|=32,n+=8;break;case"b":r[2]=6,a.setFloat64(n,e.v?1:0,!0),s|=32,n+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));r[2]=3,a.setUint32(n,t.indexOf(e.v),!0),s|=16,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(4,s,!0),r.slice(0,n)}function hf(e,t,r){switch(e[0]){case 0:case 1:case 2:case 3:return function(e,t,r,a){var n,s=Xl(e),i=s.getUint32(4,!0),o=(a>1?12:8)+4*Jl(i&(a>1?3470:398)),c=-1,l=-1,f=NaN,h=new Date(2001,0,1);switch(512&i&&(c=s.getUint32(o,!0),o+=4),o+=4*Jl(i&(a>1?12288:4096)),16&i&&(l=s.getUint32(o,!0),o+=4),32&i&&(f=s.getFloat64(o,!0),o+=8),64&i&&(h.setTime(h.getTime()+1e3*s.getFloat64(o,!0)),o+=8),e[2]){case 0:break;case 2:n={t:"n",v:f};break;case 3:n={t:"s",v:t[l]};break;case 5:n={t:"d",v:h};break;case 6:n={t:"b",v:f>0};break;case 7:n={t:"n",v:f/86400};break;case 8:n={t:"e",v:0};break;case 9:if(c>-1)n={t:"s",v:r[c]};else if(l>-1)n={t:"s",v:t[l]};else{if(isNaN(f))throw new Error("Unsupported cell type ".concat(e.slice(0,4)));n={t:"n",v:f}}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}return n}(e,t,r,e[0]);case 5:return function(e,t,r){var a,n=Xl(e),s=n.getUint32(8,!0),i=12,o=-1,c=-1,l=NaN,f=NaN,h=new Date(2001,0,1);switch(1&s&&(l=function(e,t){for(var r=(127&e[t+15])<<7|e[t+14]>>1,a=1&e[t+14],n=t+13;n>=t;--n)a=256*a+e[n];return(128&e[t+15]?-a:a)*Math.pow(10,r-6176)}(e,i),i+=16),2&s&&(f=n.getFloat64(i,!0),i+=8),4&s&&(h.setTime(h.getTime()+1e3*n.getFloat64(i,!0)),i+=8),8&s&&(c=n.getUint32(i,!0),i+=4),16&s&&(o=n.getUint32(i,!0),i+=4),e[1]){case 0:break;case 2:case 10:a={t:"n",v:l};break;case 3:a={t:"s",v:t[c]};break;case 5:a={t:"d",v:h};break;case 6:a={t:"b",v:f>0};break;case 7:a={t:"n",v:f/86400};break;case 8:a={t:"e",v:0};break;case 9:if(!(o>-1))throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)));a={t:"s",v:r[o]};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)))}return a}(e,t,r);default:throw new Error("Unsupported payload version ".concat(e[0]))}}function uf(e){return ql(ef(e)[1][0].data)}function df(e,t){var r=ef(t.data),a=Ql(r[1][0].data),n=r[3],s=[];return(n||[]).forEach(function(t){var r=ef(t.data),n=Ql(r[1][0].data)>>>0;switch(a){case 1:s[n]=$l(r[3][0].data);break;case 8:var i=ef(e[uf(r[9][0].data)][0].data),o=e[uf(i[1][0].data)][0],c=Ql(o.meta[1][0].data);if(2001!=c)throw new Error("2000 unexpected reference to ".concat(c));var l=ef(o.data);s[n]=l[3].map(function(e){return $l(e.data)}).join("")}}),s}function pf(e,t){var r={"!ref":"A1"},a=e[uf(ef(t.data)[2][0].data)],n=Ql(a[0].meta[1][0].data);if(6001!=n)throw new Error("6000 unexpected reference to ".concat(n));return function(e,t,r){var a,n=ef(t.data),s={s:{r:0,c:0},e:{r:0,c:0}};if(s.e.r=(Ql(n[6][0].data)>>>0)-1,s.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));if(s.e.c=(Ql(n[7][0].data)>>>0)-1,s.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));r["!ref"]=qr(s);var i=ef(n[4][0].data),o=df(e,e[uf(i[4][0].data)][0]),c=(null==(a=i[17])?void 0:a[0])?df(e,e[uf(i[17][0].data)][0]):[],l=ef(i[3][0].data),f=0;l[1].forEach(function(t){var a=ef(t.data),n=e[uf(a[2][0].data)][0],s=Ql(n.meta[1][0].data);if(6002!=s)throw new Error("6001 unexpected reference to ".concat(s));var i=function(e,t){var r,a=ef(t.data),n=(null==(r=null==a?void 0:a[7])?void 0:r[0])?Ql(a[7][0].data)>>>0>0?1:0:-1,s=rf(a[5],function(e){return function(e,t){var r,a,n,s,i,o,c,l,f,h,u,d,p,m,g,v,b=ef(e),w=Ql(b[1][0].data)>>>0,T=Ql(b[2][0].data)>>>0,E=(null==(a=null==(r=b[8])?void 0:r[0])?void 0:a.data)&&Ql(b[8][0].data)>0||!1;if((null==(s=null==(n=b[7])?void 0:n[0])?void 0:s.data)&&0!=t)g=null==(o=null==(i=b[7])?void 0:i[0])?void 0:o.data,v=null==(l=null==(c=b[6])?void 0:c[0])?void 0:l.data;else{if(!(null==(h=null==(f=b[4])?void 0:f[0])?void 0:h.data)||1==t)throw"NUMBERS Tile missing ".concat(t," cell storage");g=null==(d=null==(u=b[4])?void 0:u[0])?void 0:d.data,v=null==(m=null==(p=b[3])?void 0:p[0])?void 0:m.data}for(var S=E?4:1,y=Xl(g),k=[],_=0;_=1&&(x[k[k.length-1][0]]=v.subarray(k[k.length-1][1]*S)),{R:w,cells:x}}(e,n)});return{nrows:Ql(a[4][0].data)>>>0,data:s.reduce(function(e,t){return e[t.R]||(e[t.R]=[]),t.cells.forEach(function(r,a){if(e[t.R][a])throw new Error("Duplicate cell r=".concat(t.R," c=").concat(a));e[t.R][a]=r}),e},[])}}(0,n);i.data.forEach(function(e,t){e.forEach(function(e,a){var n=Kr({r:f+t,c:a}),s=hf(e,o,c);s&&(r[n]=s)})}),f+=i.nrows})}(e,a[0],r),r}function mf(e){var t,r,a,n,s={},i=[];if(e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),e.FileIndex.forEach(function(e){if(e.name.match(/\.iwa$/)){var t,r;try{t=of(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}try{r=af(t)}catch(e){return console.log("## "+(e.message||e))}r.forEach(function(e){s[e.id]=e.messages,i.push(e.id)})}}),!i.length)throw new Error("File has no messages");var o=(null==(n=null==(a=null==(r=null==(t=null==s?void 0:s[1])?void 0:t[0])?void 0:r.meta)?void 0:a[1])?void 0:n[0].data)&&1==Ql(s[1][0].meta[1][0].data)&&s[1][0];if(o||i.forEach(function(e){s[e].forEach(function(e){if(1==Ql(e.meta[1][0].data)>>>0){if(o)throw new Error("Document has multiple roots");o=e}})}),!o)throw new Error("Cannot find Document root");return function(e,t){var r={SheetNames:[],Sheets:{}};if(rf(ef(t.data)[1],uf).forEach(function(t){e[t].forEach(function(t){if(2==Ql(t.meta[1][0].data)){var a=function(e,t){var r,a=ef(t.data),n={name:(null==(r=a[1])?void 0:r[0])?$l(a[1][0].data):"",sheets:[]};return rf(a[2],uf).forEach(function(t){e[t].forEach(function(t){6e3==Ql(t.meta[1][0].data)&&n.sheets.push(pf(e,t))})}),n}(e,t);a.sheets.forEach(function(e,t){Kf(r,e,0==t?a.name:a.name+"_"+t,!0)})}})}),0==r.SheetNames.length)throw new Error("Empty NUMBERS file");return r}(s,o)}function gf(e,t,r){var a,n,s,i;if(!(null==(a=e[6])?void 0:a[0])||!(null==(n=e[7])?void 0:n[0]))throw"Mutation only works on post-BNC storages!";if((null==(i=null==(s=e[8])?void 0:s[0])?void 0:i.data)&&Ql(e[8][0].data)>0)throw"Math only works with normal offsets";for(var o=0,c=Xl(e[7][0].data),l=0,f=[],h=Xl(e[4][0].data),u=0,d=[],p=0;p0)i.push(c);else if(a.T<0)i.pop();else if(!o||t.WTF)throw new Error("Unexpected record 0x"+c.toString(16))}},t),a["!id"][s["!rel"]]&&(s["!drawel"]=a["!id"][s["!rel"]]),s}(e,a,r,n,s):function(e,t,r,a,n){if(!e)return e;a||(a={"!id":{}});var s,i={"!type":"chart","!drawel":null,"!rel":""},o=e.match(mc);return o&&bc(o[0],0,n,r),(s=e.match(/drawing r:id="(.*?)"/))&&(i["!rel"]=s[1]),a["!id"][i["!rel"]]&&(i["!drawel"]=a["!id"][i["!rel"]]),i}(e,0,r,n,s)}(d,t,n,c,s[a],l))||!u["!drawel"])break;var p=ut(u["!drawel"].Target,t),m=$a(p),g=function(e,t){if(!e)return"??";var r=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return t["!id"][r].Target}(it(e,p,!0),Ya(it(e,m,!0),p)),v=ut(g,p),b=$a(v);u=function(e,t,r,a,n,s){var i=s||{"!type":"chart"};if(!e)return s;var o=0,c=0,l="A",f={s:{r:2e6,c:2e6},e:{r:0,c:0}};return(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var t=function(e){var t,r=[],a=e.match(/^/);(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var t=e.match(/(.*)<\/c:v><\/c:pt>/);t&&(r[+t[1]]=a?+t[2]:t[2])});var n=yt((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);return(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){t=e.replace(/<.*?>/g,"")}),[r,n,t]}(e);f.s.r=f.s.c=0,f.e.c=o,l=$r(o),t[0].forEach(function(e,r){i[l+jr(r)]={t:"n",v:e,z:t[1]},c=r}),f.e.r0&&(i["!ref"]=qr(f)),i}(it(e,v,!0),0,0,Ya(it(e,b,!0),v),0,u);break;case"macro":T=t,s[a],T.slice(-4),u={"!type":"macro"};break;case"dialog":u=function(e,t){return t.slice(-4),{"!type":"dialog"}}(0,t,s[a]);break;default:throw new Error("Unrecognized sheet type "+o)}i[a]=u;var w=[];s&&s[a]&&De(s[a]).forEach(function(r){var n="";if(s[a][r].Type==Xa.CMNT){n=ut(s[a][r].Target,t);var i=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r=[],a=[],n={},s=!1;return Mr(e,function(e,i,o){switch(o){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t,n.h=e.h,n.r=e.r;break;case 636:if(n.author=a[n.iauthor],delete n.iauthor,t.sheetRows&&n.rfx&&t.sheetRows<=n.rfx.r)break;n.t||(n.t=""),delete n.rfx,r.push(n);break;case 3072:case 37:case 38:break;case 35:s=!0;break;case 36:s=!1;break;default:if(i.T);else if(!s||t.WTF)throw new Error("Unexpected record 0x"+o.toString(16))}}),r}(e,r):function(e,t){if(e.match(/<(?:\w+:)?comments *\/>/))return[];var r=[],a=[],n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);n&&n[1]&&n[1].split(/<\/\w*:?author>/).forEach(function(e){if(""!==e&&""!==e.trim()){var t=e.match(/<(?:\w+:)?author[^>]*>(.*)/);t&&r.push(t[1])}});var s=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);return s&&s[1]&&s[1].split(/<\/\w*:?comment>/).forEach(function(e){if(""!==e&&""!==e.trim()){var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(n){var s=wt(n[0]),i={author:s.authorId&&r[s.authorId]||"sheetjsghost",ref:s.ref,guid:s.guid},o=Yr(s.ref);if(!(t.sheetRows&&t.sheetRows<=o.r)){var c=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/),l=!!c&&!!c[1]&&zs(c[1])||{r:"",t:"",h:""};i.r=l.r,""==l.r&&(l.t=l.h=""),i.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"),t.cellHTML&&(i.h=l.h),a.push(i)}}}}),a}(e,r)}(st(e,n,!0),n,c);if(!i||!i.length)return;Zi(u,i,!1)}s[a][r].Type==Xa.TCMNT&&(n=ut(s[a][r].Target,t),w=w.concat(function(e,t){var r=[],a=!1,n={},s=0;return e.replace(gt,function(i,o){var c=wt(i);switch(Tt(c[0])){case"":case"":case"":case"":break;case"":null!=n.t&&r.push(n);break;case"":case"":n.t=e.slice(s,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":case"":case"":a=!1;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+c[0]+" in threaded comments")}return i}),r}(st(e,n,!0),c)))}),w&&w.length&&Zi(u,w,!0,c.people||[])}catch(e){if(c.WTF)throw e}var T}function Ef(e){return"/"==e.charAt(0)?e.slice(1):e}function Sf(e,t){if(ye(),bf(t=t||{}),at(e,"META-INF/manifest.xml"))return Hl(e,t);if(at(e,"objectdata.xml"))return Hl(e,t);if(at(e,"Index/Document.iwa")){if("undefined"==typeof Uint8Array)throw new Error("NUMBERS file parsing requires Uint8Array support");if(void 0!==mf){if(e.FileIndex)return mf(e);var r=Ce.utils.cfb_new();return ct(e).forEach(function(t){lt(r,t,ot(e,t))}),mf(r)}throw new Error("Unsupported NUMBERS file")}if(!at(e,"[Content_Types].xml")){if(at(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(at(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a,n,s=ct(e),i=function(e){var t={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};if(!e||!e.match)return t;var r={};if((e.match(gt)||[]).forEach(function(e){var a=wt(e);switch(a[0].replace(vt,"<")){case"0?t.calcchains[0]:"",t.sst=t.strs.length>0?t.strs[0]:"",t.style=t.styles.length>0?t.styles[0]:"",t.defaults=r,delete t.calcchains,t}(it(e,"[Content_Types].xml")),o=!1;if(0===i.workbooks.length&&st(e,n="xl/workbook.xml",!0)&&i.workbooks.push(n),0===i.workbooks.length){if(!st(e,n="xl/workbook.bin",!0))throw new Error("Could not find workbook");i.workbooks.push(n),o=!0}"bin"==i.workbooks[0].slice(-3)&&(o=!0);var c={},l={};if(!t.bookSheets&&!t.bookProps){if(Qo=[],i.sst)try{Qo=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r=[],a=!1;return Mr(e,function(e,n,s){switch(s){case 159:r.Count=e[0],r.Unique=e[1];break;case 19:r.push(e);break;case 160:return!0;case 35:a=!0;break;case 36:a=!1;break;default:if(n.T,!a||t.WTF)throw new Error("Unexpected record 0x"+s.toString(16))}}),r}(e,r):function(e,t){var r=[],a="";if(!e)return r;var n=e.match(Vs);if(n){a=n[2].replace(Gs,"").split(js);for(var s=0;s!=a.length;++s){var i=zs(a[s].trim(),t);null!=i&&(r[r.length]=i)}n=wt(n[1]),r.Count=n.count,r.Unique=n.uniqueCount}return r}(e,r)}(st(e,Ef(i.sst)),i.sst,t)}catch(e){if(t.WTF)throw e}t.cellStyles&&i.themes.length&&(c=function(e,t,r){return Gi(e,r)}(it(e,i.themes[0].replace(/^\//,""),!0)||"",i.themes[0],t)),i.style&&(l=function(e,t,r,a){return".bin"===t.slice(-4)?function(e,t,r){var a={NumberFmt:[]};for(var n in z)a.NumberFmt[n]=z[n];a.CellXf=[],a.Fonts=[];var s=[],i=!1;return Mr(e,function(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1],Ee(e[1],e[0]);break;case 43:a.Fonts.push(e),null!=e.color.theme&&t&&t.themeElements&&t.themeElements.clrScheme&&(e.color.rgb=ci(t.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0));break;case 1025:case 45:case 46:case 48:case 507:case 572:case 475:case 1171:case 2102:case 1130:case 512:case 2095:case 3072:break;case 47:617==s[s.length-1]&&a.CellXf.push(e);break;case 35:i=!0;break;case 36:i=!1;break;case 37:s.push(o),i=!0;break;case 38:s.pop(),i=!1;break;default:if(n.T>0)s.push(o);else if(n.T<0)s.pop();else if(!i||r.WTF&&37!=s[s.length-1])throw new Error("Unexpected record 0x"+o.toString(16))}}),a}(e,r,a):_i(e,r,a)}(st(e,Ef(i.style)),i.style,c,t))}i.links.map(function(r){try{return Ya(it(e,$a(Ef(r))),r),function(e,t,r,a){if(".bin"===r.slice(-4))return function(e,t,r,a){if(!e)return e;var n=a||{},s=!1;Mr(e,function(e,t,r){switch(r){case 359:case 363:case 364:case 366:case 367:case 368:case 369:case 370:case 371:case 472:case 577:case 578:case 579:case 580:case 581:case 582:case 583:case 584:case 585:case 586:case 587:break;case 35:s=!0;break;case 36:s=!1;break;default:if(t.T);else if(!s||n.WTF)throw new Error("Unexpected record 0x"+r.toString(16))}},n)}(e,0,0,a)}(st(e,Ef(r)),0,r,t)}catch(e){}});var f=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""},a=[],n=!1;t||(t={}),t.biff=12;var s=[],i=[[]];return i.SheetNames=[],i.XTI=[],Tl[16]={n:"BrtFRTArchID$",f:$c},Mr(e,function(e,o,c){switch(c){case 156:i.SheetNames.push(e.name),r.Sheets.push(e);break;case 153:r.WBProps=e;break;case 39:null!=e.Sheet&&(t.SID=e.Sheet),e.Ref=Mo(e.Ptg,0,null,i,t),delete t.SID,delete e.Ptg,s.push(e);break;case 1036:case 361:case 2071:case 158:case 143:case 664:case 353:case 3072:case 3073:case 534:case 677:case 157:case 610:case 2050:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 596:case 2076:case 2075:case 2082:case 397:case 154:case 1117:case 553:case 2091:case 16:break;case 357:case 358:case 355:case 667:i[0].length?i.push([c,e]):i[0]=[c,e],i[i.length-1].XTI=[];break;case 362:0===i.length&&(i[0]=[],i[0].XTI=[]),i[i.length-1].XTI=i[i.length-1].XTI.concat(e),i.XTI=i.XTI.concat(e);break;case 35:case 37:a.push(c),n=!0;break;case 36:case 38:a.pop(),n=!1;break;default:if(o.T);else if(!n||t.WTF&&37!=a[a.length-1]&&35!=a[a.length-1])throw new Error("Unexpected record 0x"+c.toString(16))}},t),Wc(r),r.Names=s,r.supbooks=i,r}(e,r):function(e,t){if(!e)throw new Error("Could not find file");var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:""},a=!1,n="xmlns",s={},i=0;if(e.replace(gt,function(o,c){var l=wt(o);switch(Tt(l[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":Fc.forEach(function(e){if(null!=l[e[0]])switch(e[2]){case"bool":r.WBProps[e[0]]=It(l[e[0]]);break;case"int":r.WBProps[e[0]]=parseInt(l[e[0]],10);break;default:r.WBProps[e[0]]=l[e[0]]}}),l.codeName&&(r.WBProps.CodeName=Lt(l.codeName));break;case"":delete l[0],r.WBView.push(l);break;case"":case"":a=!0;break;case"":case"":case"":a=!1;break;case"":s.Ref=yt(Lt(e.slice(i,c))),r.Names.push(s);break;case"":delete l[0],r.CalcPr=l;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+l[0]+" in workbook")}return o}),-1===Zt.indexOf(r.xmlns))throw new Error("Unknown Namespace: "+r.xmlns);return Wc(r),r}(e,r)}(st(e,Ef(i.workbooks[0])),i.workbooks[0],t),h={},u="";i.coreprops.length&&((u=st(e,Ef(i.coreprops[0]),!0))&&(h=an(u)),0!==i.extprops.length&&(u=st(e,Ef(i.extprops[0]),!0))&&function(e,t,r){var a={};t||(t={}),e=Lt(e),on.forEach(function(r){var n=(e.match(Ut(r[0]))||[])[1];switch(r[2]){case"string":n&&(t[r[1]]=yt(n));break;case"bool":t[r[1]]="true"===n;break;case"raw":var s=e.match(new RegExp("<"+r[0]+"[^>]*>([\\s\\S]*?)"));s&&s.length>0&&(a[r[1]]=s[1])}}),a.HeadingPairs&&a.TitlesOfParts&&ln(a.HeadingPairs,a.TitlesOfParts,t,r)}(u,h,t));var d={};t.bookSheets&&!t.bookProps||0!==i.custprops.length&&(u=it(e,Ef(i.custprops[0]),!0))&&(d=function(e,t){var r={},a="",n=e.match(hn);if(n)for(var s=0;s!=n.length;++s){var i=n[s],o=wt(i);switch(o[0]){case"":a=null;break;default:if(0===i.indexOf(""),l=c[0].slice(4),f=c[1];switch(l){case"lpstr":case"bstr":case"lpwstr":case"cy":case"error":r[a]=yt(f);break;case"bool":r[a]=It(f);break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":r[a]=parseInt(f,10);break;case"r4":case"r8":case"decimal":r[a]=parseFloat(f);break;case"filetime":case"date":r[a]=$e(f);break;default:if("/"==l.slice(-1))break;t.WTF&&"undefined"!=typeof console&&console.warn("Unexpected",i,l,c)}}else if("0&&(a=h.SheetNames),t.bookProps&&(p.Props=h,p.Custprops=d),t.bookSheets&&void 0!==a&&(p.SheetNames=a),t.bookSheets?p.SheetNames:t.bookProps))return p;a={};var m,g={};t.bookDeps&&i.calcchain&&(m=st(e,Ef(i.calcchain)),g=".bin"===i.calcchain.slice(-4)?function(e){var t=[];return Mr(e,function(e,r,a){if(63===a)t.push(e);else if(!r.T)throw new Error("Unexpected record 0x"+a.toString(16))}),t}(m):function(e){var t=[];if(!e)return t;var r=1;return(e.match(gt)||[]).forEach(function(e){var a=wt(e);switch(a[0]){case"":case"":break;case"=1&&(t.xlmeta=function(e,t,r){return".bin"===t.slice(-4)?function(e,t,r){var a={Types:[],Cell:[],Value:[]},n=r||{},s=[],i=!1,o=2;return Mr(e,function(e,t,r){switch(r){case 335:a.Types.push({name:e.name});break;case 51:e.forEach(function(e){1==o?a.Cell.push({type:a.Types[e[0]-1].name,index:e[1]}):0==o&&a.Value.push({type:a.Types[e[0]-1].name,index:e[1]})});break;case 337:o=e?1:0;break;case 338:o=2;break;case 35:s.push(r),i=!0;break;case 36:s.pop(),i=!1;break;default:if(t.T);else if(!i||n.WTF&&35!=s[s.length-1])throw new Error("Unexpected record 0x"+r.toString(16))}}),a}(e,0,r):function(e,t,r){var a={Types:[],Cell:[],Value:[]};if(!e)return a;var n,s=!1,i=2;return e.replace(gt,function(e){var t=wt(e);switch(Tt(t[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":i=2;break;case"":s=!1;break;case"=1&&(t.people=function(e,t){var r=[],a=!1;return e.replace(gt,function(e){var n=wt(e);switch(Tt(n[0])){case"":case"":case"":case"":case"":break;case"":a=!1;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments")}return e}),r}(st(e,Ef(i.people[0])),t)),A&&(A=function(e,t){if(!e)return 0;try{e=t.map(function(t){return t.id||(t.id=t.strRelID),[t.name,e["!id"][t.id].Target,(r=e["!id"][t.id].Type,Xa.WS.indexOf(r)>-1?"sheet":Xa.CS&&r==Xa.CS?"chart":Xa.DS&&r==Xa.DS?"dialog":Xa.MS&&r==Xa.MS?"macro":r&&r.length?r:"sheet")];var r})}catch(e){return null}return e&&0!==e.length?e:null}(A,f.Sheets));var x=st(e,"xl/worksheets/sheet.xml",!0)?1:0;e:for(w=0;w!=h.Worksheets;++w){var C="sheet";if(A&&A[w]?(v="xl/"+A[w][1].replace(/[\/]?xl\//,""),at(e,v)||(v=A[w][1]),at(e,v)||(v=_.replace(/_rels\/.*$/,"")+A[w][1]),C=A[w][2]):v=(v="xl/worksheets/sheet"+(w+1-x)+"."+y).replace(/sheet0\./,"sheet."),b=v.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),t&&null!=t.sheets)switch(typeof t.sheets){case"number":if(w!=t.sheets)continue e;break;case"string":if(h.SheetNames[w].toLowerCase()!=t.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(t.sheets)){for(var O=!1,R=0;R!=t.sheets.length;++R)"number"==typeof t.sheets[R]&&t.sheets[R]==w&&(O=1),"string"==typeof t.sheets[R]&&t.sheets[R].toLowerCase()==h.SheetNames[w].toLowerCase()&&(O=1);if(!O)continue e}}Tf(e,v,b,h.SheetNames[w],w,T,a,C,t,f,c,l)}return p={Directory:i,Workbook:f,Props:h,Custprops:d,Deps:g,Sheets:a,SheetNames:h.SheetNames,Strings:Qo,Styles:l,Themes:c,SSF:Ke(z)},t&&t.bookFiles&&(e.files?(p.keys=s,p.files=e.files):(p.keys=[],p.files={},e.FullPaths.forEach(function(t,r){t=t.replace(/^Root Entry[\/]/,""),p.keys.push(t),p.files[t]=e.FileIndex[r]}))),t&&t.bookVBA&&(i.vba.length>0?p.vbaraw=st(e,Ef(i.vba[0]),!0):i.defaults&&i.defaults.bin===ao&&(p.vbaraw=st(e,"xl/vbaProject.bin",!0))),p}function yf(e,t){var r,a,n=t||{},s="Workbook",i=Ce.find(e,s);try{if(s="/!DataSpaces/Version",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(r=i.content,(a={}).id=r.read_shift(0,"lpp4"),a.R=qs(r,4),a.U=qs(r,4),a.W=qs(r,4),s="/!DataSpaces/DataSpaceMap",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var o=function(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(Zs(e));return t}(i.content);if(1!==o.length||1!==o[0].comps.length||0!==o[0].comps[0].t||"StrongEncryptionDataSpace"!==o[0].name||"EncryptedPackage"!==o[0].comps[0].v)throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var c=function(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(e.read_shift(0,"lpp4"));return t}(i.content);if(1!=c.length||"StrongEncryptionTransform"!=c[0])throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);!function(e){var t=function(e){var t={};return e.read_shift(4),e.l+=4,t.id=e.read_shift(0,"lpp4"),t.name=e.read_shift(0,"lpp4"),t.R=qs(e,4),t.U=qs(e,4),t.W=qs(e,4),t}(e);if(t.ename=e.read_shift(0,"8lpp4"),t.blksz=e.read_shift(4),t.cmode=e.read_shift(4),4!=e.read_shift(4))throw new Error("Bad !Primary record")}(i.content)}catch(e){}if(s="/EncryptionInfo",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var l=function(e){var t=qs(e);switch(t.Minor){case 2:return[t.Minor,ti(e)];case 3:return[t.Minor,ri()];case 4:return[t.Minor,ai(e)]}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+t.Minor)}(i.content);if(s="/EncryptedPackage",!(i=Ce.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(4==l[0]&&"undefined"!=typeof decrypt_agile)return decrypt_agile(l[1],i.content,n.password||"",n);if(2==l[0]&&"undefined"!=typeof decrypt_std76)return decrypt_std76(l[1],i.content,n.password||"",n);throw new Error("File is password-protected")}function kf(e,t){return"ods"==t.bookType?jl(e,t):"numbers"==t.bookType?function(e,t){if(!t||!t.numbers)throw new Error("Must pass a `numbers` option -- check the README");var r=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error("The Numbers writer currently writes only the first table");var a=Jr(r["!ref"]);a.s.r=a.s.c=0;var n=!1;a.e.c>9&&(n=!0,a.e.c=9),a.e.r>49&&(n=!0,a.e.r=49),n&&console.error("The Numbers writer is currently limited to ".concat(qr(a)));var s=zf(r,{range:a,header:1}),i=["~Sh33tJ5~"];s.forEach(function(e){return e.forEach(function(e){"string"==typeof e&&i.push(e)})});var o={},c=[],l=Ce.read(t.numbers,{type:"base64"});l.FileIndex.map(function(e,t){return[e,l.FullPaths[t]]}).forEach(function(e){var t=e[0],r=e[1];2==t.type&&t.name.match(/\.iwa/)&&af(of(t.content)).forEach(function(e){c.push(e.id),o[e.id]={deps:[],location:r,type:Ql(e.messages[0].meta[1][0].data)}})}),c.sort(function(e,t){return e-t});var f=c.filter(function(e){return e>1}).map(function(e){return[e,Zl(e)]});l.FileIndex.map(function(e,t){return[e,l.FullPaths[t]]}).forEach(function(e){var t=e[0];e[1],t.name.match(/\.iwa/)&&af(of(t.content)).forEach(function(e){e.messages.forEach(function(t){f.forEach(function(t){e.messages.some(function(e){return 11006!=Ql(e.meta[1][0].data)&&function(e,t){e:for(var r=0;r<=e.length-t.length;++r){for(var a=0;a-1,n={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};wf(t=t||{});var s=ft(),i="",o=0;if(t.cellXfs=[],sc(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),lt(s,i="docProps/core.xml",sn(e.Props,t)),n.coreprops.push(i),Ja(t.rels,2,i,Xa.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var c=[],l=0;l0&&(lt(s,i="docProps/custom.xml",un(e.Custprops)),n.custprops.push(i),Ja(t.rels,4,i,Xa.CUST_PROPS)),o=1;o<=e.SheetNames.length;++o){var f={"!id":{}},h=e.Sheets[e.SheetNames[o-1]];if((h||{})["!type"],lt(s,i="xl/worksheets/sheet"+o+"."+r,Jc(o-1,i,t,e,f)),n.sheets.push(i),Ja(t.wbrels,-1,"worksheets/sheet"+o+"."+r,Xa.WS[0]),h){var u=h["!comments"],d=!1,p="";u&&u.length>0&&(lt(s,p="xl/comments"+o+"."+r,qc(u,p,t)),n.comments.push(p),Ja(f,-1,"../comments"+o+"."+r,Xa.CMNT),d=!0),h["!legacy"]&&d&<(s,"xl/drawings/vmlDrawing"+o+".vml",qi(o,h["!comments"])),delete h["!comments"],delete h["!legacy"]}f["!id"].rId1&<(s,$a(i),Ka(f))}return null!=t.Strings&&t.Strings.length>0&&(lt(s,i="xl/sharedStrings."+r,function(e,t,r){return(".bin"===t.slice(-4)?Ks:$s)(e,r)}(t.Strings,i,t)),n.strs.push(i),Ja(t.wbrels,-1,"sharedStrings."+r,Xa.SST)),lt(s,i="xl/workbook."+r,function(e,t,r){return(".bin"===t.slice(-4)?Yc:jc)(e,r)}(e,i,t)),n.workbooks.push(i),Ja(t.rels,1,i,Xa.WB),lt(s,i="xl/theme/theme1.xml",ji(e.Themes,t)),n.themes.push(i),Ja(t.wbrels,-1,"theme/theme1.xml",Xa.THEME),lt(s,i="xl/styles."+r,function(e,t,r){return(".bin"===t.slice(-4)?Pi:Ai)(e,r)}(e,i,t)),n.styles.push(i),Ja(t.wbrels,-1,"styles."+r,Xa.STY),e.vbaraw&&a&&(lt(s,i="xl/vbaProject.bin",e.vbaraw),n.vba.push(i),Ja(t.wbrels,-1,"vbaProject.bin",Xa.VBA)),lt(s,i="xl/metadata."+r,(".bin"===i.slice(-4)?Yi:Ki)()),n.metadata.push(i),Ja(t.wbrels,-1,"metadata."+r,Xa.XLMETA),lt(s,"[Content_Types].xml",ja(n,t)),lt(s,"_rels/.rels",Ka(t.rels)),lt(s,"xl/_rels/workbook."+r+".rels",Ka(t.wbrels)),delete t.revssf,delete t.ssf,s}(e,t):_f(e,t)}function _f(e,t){Ji=1024,e&&!e.SSF&&(e.SSF=Ke(z)),e&&e.SSF&&(ye(),Se(e.SSF),t.revssf=Le(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,tc?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r="xml",a=no.indexOf(t.bookType)>-1,n={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};wf(t=t||{});var s=ft(),i="",o=0;if(t.cellXfs=[],sc(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),lt(s,i="docProps/core.xml",sn(e.Props,t)),n.coreprops.push(i),Ja(t.rels,2,i,Xa.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var c=[],l=0;l0&&(lt(s,i="docProps/custom.xml",un(e.Custprops)),n.custprops.push(i),Ja(t.rels,4,i,Xa.CUST_PROPS));var f=["SheetJ5"];for(t.tcid=0,o=1;o<=e.SheetNames.length;++o){var h={"!id":{}},u=e.Sheets[e.SheetNames[o-1]];if((u||{})["!type"],lt(s,i="xl/worksheets/sheet"+o+"."+r,kc(o-1,t,e,h)),n.sheets.push(i),Ja(t.wbrels,-1,"worksheets/sheet"+o+"."+r,Xa.WS[0]),u){var d=u["!comments"],p=!1,m="";if(d&&d.length>0){var g=!1;d.forEach(function(e){e[1].forEach(function(e){1==e.T&&(g=!0)})}),g&&(lt(s,m="xl/threadedComments/threadedComment"+o+"."+r,eo(d,f,t)),n.threadedcomments.push(m),Ja(h,-1,"../threadedComments/threadedComment"+o+"."+r,Xa.TCMNT)),lt(s,m="xl/comments"+o+"."+r,Qi(d)),n.comments.push(m),Ja(h,-1,"../comments"+o+"."+r,Xa.CMNT),p=!0}u["!legacy"]&&p&<(s,"xl/drawings/vmlDrawing"+o+".vml",qi(o,u["!comments"])),delete u["!comments"],delete u["!legacy"]}h["!id"].rId1&<(s,$a(i),Ka(h))}return null!=t.Strings&&t.Strings.length>0&&(lt(s,i="xl/sharedStrings."+r,$s(t.Strings,t)),n.strs.push(i),Ja(t.wbrels,-1,"sharedStrings."+r,Xa.SST)),lt(s,i="xl/workbook."+r,jc(e)),n.workbooks.push(i),Ja(t.rels,1,i,Xa.WB),lt(s,i="xl/theme/theme1.xml",ji(e.Themes,t)),n.themes.push(i),Ja(t.wbrels,-1,"theme/theme1.xml",Xa.THEME),lt(s,i="xl/styles."+r,Ai(e,t)),n.styles.push(i),Ja(t.wbrels,-1,"styles."+r,Xa.STY),e.vbaraw&&a&&(lt(s,i="xl/vbaProject.bin",e.vbaraw),n.vba.push(i),Ja(t.wbrels,-1,"vbaProject.bin",Xa.VBA)),lt(s,i="xl/metadata."+r,Ki()),n.metadata.push(i),Ja(t.wbrels,-1,"metadata."+r,Xa.XLMETA),f.length>1&&(lt(s,i="xl/persons/person.xml",function(e){var t=[dt,$t("personList",null,{xmlns:qt.TCMNT,"xmlns:x":Zt[0]}).replace(/[\/]>/,">")];return e.forEach(function(e,r){t.push($t("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+r).slice(-12)+"}",userId:e,providerId:"None"}))}),t.push(""),t.join("")}(f)),n.people.push(i),Ja(t.wbrels,-1,"persons/person.xml",Xa.PEOPLE)),lt(s,"[Content_Types].xml",ja(n,t)),lt(s,"_rels/.rels",Ka(t.rels)),lt(s,"xl/_rels/workbook.xml.rels",Ka(t.wbrels)),delete t.revssf,delete t.ssf,s}function Af(e,t){var r="";switch((t||{}).type||"base64"){case"buffer":case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":r=E(e.slice(0,12));break;case"binary":r=e;break;default:throw new Error("Unrecognized type "+(t&&t.type||"undefined"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3),r.charCodeAt(4),r.charCodeAt(5),r.charCodeAt(6),r.charCodeAt(7)]}function xf(e,t){var r=0;e:for(;r=2&&0===a[3])return Ls.to_workbook(n,r);if(0===a[2]&&(8===a[3]||9===a[3]))return Ls.to_workbook(n,r)}break;case 3:case 131:case 139:case 140:return Is.to_workbook(n,r);case 123:if(92===a[1]&&114===a[2]&&116===a[3])return ii.to_workbook(n,r);break;case 10:case 13:case 32:return function(e,t){var r="",a=Af(e,t);switch(t.type){case"base64":r=E(e);break;case"binary":r=e;break;case"buffer":r=e.toString("binary");break;case"array":r=Ye(e);break;default:throw new Error("Unrecognized type "+t.type)}return 239==a[0]&&187==a[1]&&191==a[2]&&(r=Lt(r)),t.type="binary",xf(r,t)}(n,r);case 137:if(80===a[1]&&78===a[2]&&71===a[3])throw new Error("PNG Image File is not a spreadsheet")}return Rs.indexOf(a[0])>-1&&a[2]<=12&&a[3]<=31?Is.to_workbook(n,r):Cf(e,n,r,s)}function Rf(e,t){var r=t||{};return r.type="file",Of(e,r)}function If(e,t){switch(t.type){case"base64":case"binary":break;case"buffer":case"array":t.type="";break;case"file":return Ne(t.file,Ce.write(e,{type:S?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");default:throw new Error("Unrecognized type "+t.type)}return Ce.write(e,t)}function Nf(e,t){var r={},a=S?"nodebuffer":"undefined"!=typeof Uint8Array?"array":"string";if(t.compression&&(r.compression="DEFLATE"),t.password)r.type=a;else switch(t.type){case"base64":r.type="base64";break;case"binary":r.type="string";break;case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");case"buffer":case"file":r.type=a;break;default:throw new Error("Unrecognized type "+t.type)}var n=e.FullPaths?Ce.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[r.type]||r.type,compression:!!t.compression}):e.generate(r);if("undefined"!=typeof Deno&&"string"==typeof n){if("binary"==t.type||"base64"==t.type)return n;n=new Uint8Array(x(n))}return t.password&&"undefined"!=typeof encrypt_agile?If(encrypt_agile(n,t.password),t):"file"===t.type?Ne(t.file,n):"string"==t.type?Lt(n):n}function Df(e,t,r){r||(r="");var a=r+e;switch(t.type){case"base64":return T(Mt(a));case"binary":return Mt(a);case"string":return e;case"file":return Ne(t.file,a,"utf8");case"buffer":return S?y(a,"utf8"):"undefined"!=typeof TextEncoder?(new TextEncoder).encode(a):Df(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})}throw new Error("Unrecognized type "+t.type)}function Ff(e,t){switch(t.type){case"string":case"base64":case"binary":for(var r="",a=0;a-1||cn.indexOf(s[i][0])>-1||null!=s[i][1]&&l.push(s[i]);n.length&&Ce.utils.cfb_add(t,"/SummaryInformation",In(n,bl.SI,c,La)),(a.length||l.length)&&Ce.utils.cfb_add(t,"/DocumentSummaryInformation",In(a,bl.DSI,o,Pa,l.length?l:null,bl.UDI))}(e,a),8==r.biff&&e.vbaraw&&function(e,t){t.FullPaths.forEach(function(r,a){if(0!=a){var n=r.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");"/"!==n.slice(-1)&&Ce.utils.cfb_add(e,n,t.FileIndex[a].content)}})}(a,Ce.read(e.vbaraw,{type:"string"==typeof e.vbaraw?"binary":"buffer"})),a}(e,r),r)}(e,r);case"xlsx":case"xlsm":case"xlam":case"xlsb":case"numbers":case"ods":return function(e,t){var r=Ke(t||{});return Nf(kf(e,r),r)}(e,r);default:throw new Error("Unrecognized bookType |"+r.bookType+"|")}}function Mf(e){if(!e.bookType){var t=e.file.slice(e.file.lastIndexOf(".")).toLowerCase();t.match(/^\.[a-z]+$/)&&(e.bookType=t.slice(1)),e.bookType={xls:"biff8",htm:"html",slk:"sylk",socialcalc:"eth",Sh33tJS:"WTF"}[e.bookType]||e.bookType}}function Uf(e,t,r){var a=r||{};return a.type="file",a.file=t,Mf(a),Lf(e,a)}function Bf(e,t,r){var a=r||{};return a.type="file",a.file=t,Mf(a),Pf(e,a)}function Wf(e,t,r,a){var n=r||{};n.type="file",n.file=e,Mf(n),n.type="buffer";var s=a;return s instanceof Function||(s=r),Oe.writeFile(e,Lf(t,n),s)}function Hf(e,t,r,a,n,s,i,o){var c=jr(r),l=o.defval,f=o.raw||!Object.prototype.hasOwnProperty.call(o,"raw"),h=!0,u=1===n?[]:{};if(1!==n)if(Object.defineProperty)try{Object.defineProperty(u,"__rowNum__",{value:r,enumerable:!1})}catch(e){u.__rowNum__=r}else u.__rowNum__=r;if(!i||e[r])for(var d=t.s.c;d<=t.e.c;++d){var p=i?e[r][d]:e[a[d]+c];if(void 0!==p&&void 0!==p.t){var m=p.v;switch(p.t){case"z":if(null==m)break;continue;case"e":m=0==m?null:void 0;break;case"s":case"d":case"b":case"n":break;default:throw new Error("unrecognized type "+p.t)}if(null!=s[d]){if(null==m)if("e"==p.t&&null===m)u[s[d]]=null;else if(void 0!==l)u[s[d]]=l;else{if(!f||null!==m)continue;u[s[d]]=null}else u[s[d]]=f&&("n"!==p.t||"n"===p.t&&!1!==o.rawNumbers)?m:Qr(p,m,o);null!=m&&(h=!1)}}else{if(void 0===l)continue;null!=s[d]&&(u[s[d]]=l)}}return{row:u,isempty:h}}function zf(e,t){if(null==e||null==e["!ref"])return[];var r={t:"n",v:0},a=0,n=1,s=[],i=0,o="",c={s:{r:0,c:0},e:{r:0,c:0}},l=t||{},f=null!=l.range?l.range:e["!ref"];switch(1===l.header?a=1:"A"===l.header?a=2:Array.isArray(l.header)?a=3:null==l.header&&(a=0),typeof f){case"string":c=Zr(f);break;case"number":(c=Zr(e["!ref"])).s.r=f;break;default:c=f}a>0&&(n=0);var h=jr(c.s.r),u=[],d=[],p=0,m=0,g=Array.isArray(e),v=c.s.r,b=0,w={};g&&!e[v]&&(e[v]=[]);var T=l.skipHidden&&e["!cols"]||[],E=l.skipHidden&&e["!rows"]||[];for(b=c.s.c;b<=c.e.c;++b)if(!(T[b]||{}).hidden)switch(u[b]=$r(b),r=g?e[v][b]:e[u[b]+h],a){case 1:s[b]=b-c.s.c;break;case 2:s[b]=u[b];break;case 3:s[b]=l.header[b-c.s.c];break;default:if(null==r&&(r={w:"__EMPTY",t:"s"}),o=i=Qr(r,null,l),m=w[i]||0){do{o=i+"_"+m++}while(w[o]);w[i]=m,w[o]=1}else w[i]=1;s[b]=o}for(v=c.s.r+n;v<=c.e.r;++v)if(!(E[v]||{}).hidden){var S=Hf(e,c,v,u,a,s,g,l);(!1===S.isempty||(1===a?!1!==l.blankrows:l.blankrows))&&(d[p++]=S.row)}return d.length=p,d}var Vf=/"/g;function Gf(e,t,r,a,n,s,i,o){for(var c=!0,l=[],f="",h=jr(r),u=t.s.c;u<=t.e.c;++u)if(a[u]){var d=o.dense?(e[r]||[])[u]:e[a[u]+h];if(null==d)f="";else if(null!=d.v){c=!1,f=""+(o.rawNumbers&&"n"==d.t?d.v:Qr(d,null,o));for(var p=0,m=0;p!==f.length;++p)if((m=f.charCodeAt(p))===n||m===s||34===m||o.forceQuotes){f='"'+f.replace(Vf,'""')+'"';break}"ID"==f&&(f='"ID"')}else null==d.f||d.F?f="":(c=!1,(f="="+d.f).indexOf(",")>=0&&(f='"'+f.replace(Vf,'""')+'"'));l.push(f)}return!1===o.blankrows&&c?null:l.join(i)}function jf(e,t){var r=[],a=null==t?{}:t;if(null==e||null==e["!ref"])return"";var n=Zr(e["!ref"]),s=void 0!==a.FS?a.FS:",",i=s.charCodeAt(0),o=void 0!==a.RS?a.RS:"\n",c=o.charCodeAt(0),l=new RegExp(("|"==s?"\\|":s)+"+$"),f="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=$r(p));for(var m=0,g=n.s.r;g<=n.e.r;++g)(d[g]||{}).hidden||null!=(f=Gf(e,n,g,h,i,c,s,a))&&(a.strip&&(f=f.replace(l,"")),(f||!1!==a.blankrows)&&r.push((m++?o:"")+f));return delete a.dense,r.join("")}function Xf(e,t){t||(t={}),t.FS="\t",t.RS="\n";var r=jf(e,t);if(void 0===d||"string"==t.type)return r;var a=d.utils.encode(1200,r,"str");return String.fromCharCode(255)+String.fromCharCode(254)+a}function $f(e,t,r){var a,n=r||{},s=+!n.skipHeader,i=e||{},o=0,c=0;if(i&&null!=n.origin)if("number"==typeof n.origin)o=n.origin;else{var l="string"==typeof n.origin?Yr(n.origin):n.origin;o=l.r,c=l.c}var f={s:{c:0,r:0},e:{c,r:o+t.length-1+s}};if(i["!ref"]){var h=Zr(i["!ref"]);f.e.c=Math.max(f.e.c,h.e.c),f.e.r=Math.max(f.e.r,h.e.r),-1==o&&(o=h.e.r+1,f.e.r=o+t.length-1+s)}else-1==o&&(o=0,f.e.r=t.length-1+s);var u=n.header||[],d=0;t.forEach(function(e,t){De(e).forEach(function(r){-1==(d=u.indexOf(r))&&(u[d=u.length]=r);var l=e[r],f="z",h="",p=Kr({c:c+d,r:o+t+s});a=Yf(i,p),!l||"object"!=typeof l||l instanceof Date?("number"==typeof l?f="n":"boolean"==typeof l?f="b":"string"==typeof l?f="s":l instanceof Date?(f="d",n.cellDates||(f="n",l=Ue(l)),h=n.dateNF||z[14]):null===l&&n.nullError&&(f="e",l=0),a?(a.t=f,a.v=l,delete a.w,delete a.R,h&&(a.z=h)):i[p]=a={t:f,v:l},h&&(a.z=h)):i[p]=l})}),f.e.c=Math.max(f.e.c,c+u.length-1);var p=jr(o);if(s)for(d=0;d=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(r)>=0){var s=r.match(/(^.*?)(\d+)$/);n=s&&+s[2]||0;var i=s&&s[1]||r;for(++n;n<=65535&&-1!=e.SheetNames.indexOf(r=i+n);++n);}if(zc(r),e.SheetNames.indexOf(r)>=0)throw new Error("Worksheet with name |"+r+"| already exists!");return e.SheetNames.push(r),e.Sheets[r]=t,r}function Jf(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e}var qf,Zf={encode_col:$r,encode_row:jr,encode_cell:Kr,encode_range:qr,decode_col:Xr,decode_row:Gr,split_cell:function(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")},decode_cell:Yr,decode_range:Jr,format_cell:Qr,sheet_add_aoa:ta,sheet_add_json:$f,sheet_add_dom:Pl,aoa_to_sheet:ra,json_to_sheet:function(e,t){return $f(null,e,t)},table_to_sheet:Ll,table_to_book:function(e,t){return ea(Ll(e,t),t)},sheet_to_csv:jf,sheet_to_txt:Xf,sheet_to_json:zf,sheet_to_html:Fl,sheet_to_formulae:function(e){var t,r="",a="";if(null==e||null==e["!ref"])return[];var n,s=Zr(e["!ref"]),i="",o=[],c=[],l=Array.isArray(e);for(n=s.s.c;n<=s.e.c;++n)o[n]=$r(n);for(var f=s.s.r;f<=s.e.r;++f)for(i=jr(f),n=s.s.c;n<=s.e.c;++n)if(r=o[n]+i,a="",void 0!==(t=l?(e[f]||[])[n]:e[r])){if(null!=t.F){if(r=t.F,!t.f)continue;a=t.f,-1==r.indexOf(":")&&(r=r+":"+r)}if(null!=t.f)a=t.f;else{if("z"==t.t)continue;if("n"==t.t&&null!=t.v)a=""+t.v;else if("b"==t.t)a=t.v?"TRUE":"FALSE";else if(void 0!==t.w)a="'"+t.w;else{if(void 0===t.v)continue;a="s"==t.t?"'"+t.v:""+t.v}}c[c.length]=r+"="+a}return c},sheet_to_row_object_array:zf,sheet_get_cell:Yf,book_new:function(){return{SheetNames:[],Sheets:{}}},book_append_sheet:Kf,book_set_sheet_visibility:function(e,t,r){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=function(e,t){if("number"==typeof t){if(t>=0&&e.SheetNames.length>t)return t;throw new Error("Cannot find sheet # "+t)}if("string"==typeof t){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error("Cannot find sheet name |"+t+"|")}throw new Error("Cannot find sheet |"+t+"|")}(e,t);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+r)}e.Workbook.Sheets[a].Hidden=r},cell_set_number_format:function(e,t){return e.z=t,e},cell_set_hyperlink:Jf,cell_set_internal_link:function(e,t,r){return Jf(e,"#"+t,r)},cell_add_comment:function(e,t,r){e.c||(e.c=[]),e.c.push({t,a:r||"SheetJS"})},sheet_set_array_formula:function(e,t,r,a){for(var n="string"!=typeof t?t:Zr(t),s="string"==typeof t?t:qr(t),i=n.s.r;i<=n.e.r;++i)for(var o=n.s.c;o<=n.e.c;++o){var c=Yf(e,i,o);c.t="n",c.F=s,delete c.v,i==n.s.r&&o==n.s.c&&(c.f=r,a&&(c.D=!0))}return e},consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}},Qf={to_json:function(e,t){var r=qf({objectMode:!0});if(null==e||null==e["!ref"])return r.push(null),r;var a={t:"n",v:0},n=0,s=1,i=[],o=0,c="",l={s:{r:0,c:0},e:{r:0,c:0}},f=t||{},h=null!=f.range?f.range:e["!ref"];switch(1===f.header?n=1:"A"===f.header?n=2:Array.isArray(f.header)&&(n=3),typeof h){case"string":l=Zr(h);break;case"number":(l=Zr(e["!ref"])).s.r=h;break;default:l=h}n>0&&(s=0);var u=jr(l.s.r),d=[],p=0,m=Array.isArray(e),g=l.s.r,v=0,b={};m&&!e[g]&&(e[g]=[]);var w=f.skipHidden&&e["!cols"]||[],T=f.skipHidden&&e["!rows"]||[];for(v=l.s.c;v<=l.e.c;++v)if(!(w[v]||{}).hidden)switch(d[v]=$r(v),a=m?e[g][v]:e[d[v]+u],n){case 1:i[v]=v-l.s.c;break;case 2:i[v]=d[v];break;case 3:i[v]=f.header[v-l.s.c];break;default:if(null==a&&(a={w:"__EMPTY",t:"s"}),c=o=Qr(a,null,f),p=b[o]||0){do{c=o+"_"+p++}while(b[c]);b[o]=p,b[c]=1}else b[o]=1;i[v]=c}return g=l.s.r+s,r._read=function(){for(;g<=l.e.r;)if(!(T[g-1]||{}).hidden){var t=Hf(e,l,g,d,n,i,m,f);if(++g,!1===t.isempty||(1===n?!1!==f.blankrows:f.blankrows))return void r.push(t.row)}return r.push(null)},r},to_html:function(e,t){var r=qf(),a=t||{},n=null!=a.header?a.header:Il,s=null!=a.footer?a.footer:Nl;r.push(n);var i=Jr(e["!ref"]);a.dense=Array.isArray(e),r.push(Dl(0,0,a));var o=i.s.r,c=!1;return r._read=function(){if(o>i.e.r)return c||(c=!0,r.push(""+s)),r.push(null);for(;o<=i.e.r;){r.push(Rl(e,i,o,a)),++o;break}},r},to_csv:function(e,t){var r=qf(),a=null==t?{}:t;if(null==e||null==e["!ref"])return r.push(null),r;var n=Zr(e["!ref"]),s=void 0!==a.FS?a.FS:",",i=s.charCodeAt(0),o=void 0!==a.RS?a.RS:"\n",c=o.charCodeAt(0),l=new RegExp(("|"==s?"\\|":s)+"+$"),f="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=$r(p));var m=n.s.r,g=!1,v=0;return r._read=function(){if(!g)return g=!0,r.push("\ufeff");for(;m<=n.e.r;)if(++m,!(d[m-1]||{}).hidden&&null!=(f=Gf(e,n,m-1,h,i,c,s,a))&&(a.strip&&(f=f.replace(l,"")),f||!1!==a.blankrows))return r.push((v++?o:"")+f);return r.push(null)},r},set_readable:function(e){qf=e}};const eh=a.version;r.d(t,["version",0,eh])}}]); +"use strict";(self.webpackChunkdash_table=self.webpackChunkdash_table||[]).push([[404],{3959(e,t,r){r.r(t),r.d(t,{CFB:function(){return xe},SSF:function(){return Se},parse_xlscfb:function(){return dl},parse_zip:function(){return gf},read:function(){return Sf},readFile:function(){return kf},readFileSync:function(){return kf},set_cptable:function(){return v},set_fs:function(){return Oe},stream:function(){return $f},utils:function(){return Xf},write:function(){return Rf},writeFile:function(){return Nf},writeFileAsync:function(){return Df},writeFileSync:function(){return Nf},writeFileXLSX:function(){return Ff},writeXLSX:function(){return Of}});var a="0.18.5",n=1200,s=1252,i=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],o={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},c=function(e){-1!=i.indexOf(e)&&(s=o[0]=e)},l=function(e){n=e,c(e)};function f(){l(1200),c(1252)}function h(e){for(var t=[],r=0,a=e.length;r>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r+1)+(e.charCodeAt(2*r)<<8));return t.join("")}var d,p=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1);return 255==t&&254==r?function(e){for(var t=[],r=0;r>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r)+(e.charCodeAt(2*r+1)<<8));return t.join("")}(e.slice(2)):254==t&&255==r?u(e.slice(2)):65279==t?e.slice(1):e},m=function(e){return String.fromCharCode(e)},g=function(e){return String.fromCharCode(e)};function v(e){d=e,l=function(e){n=e,c(e)},p=function(e){return 255===e.charCodeAt(0)&&254===e.charCodeAt(1)?d.utils.decode(1200,h(e.slice(2))):e},m=function(e){return 1200===n?String.fromCharCode(e):d.utils.decode(n,[255&e,e>>8])[0]},g=function(e){return d.utils.decode(s,[e])[0]},Ar()}var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function w(e){for(var t="",r=0,a=0,n=0,s=0,i=0,o=0,c=0,l=0;l>2,i=(3&r)<<4|(a=e.charCodeAt(l++))>>4,o=(15&a)<<2|(n=e.charCodeAt(l++))>>6,c=63&n,isNaN(a)?o=c=64:isNaN(n)&&(c=64),t+=b.charAt(s)+b.charAt(i)+b.charAt(o)+b.charAt(c);return t}function T(e){var t="",r=0,a=0,n=0,s=0,i=0,o=0;e=e.replace(/[^\w\+\/\=]/g,"");for(var c=0;c>4,t+=String.fromCharCode(r),a=(15&s)<<4|(i=b.indexOf(e.charAt(c++)))>>2,64!==i&&(t+=String.fromCharCode(a)),n=(3&i)<<6|(o=b.indexOf(e.charAt(c++))),64!==o&&(t+=String.fromCharCode(n));return t}var E=function(){return"undefined"!=typeof Buffer&&"undefined"!=typeof process&&void 0!==process.versions&&!!process.versions.node}(),y=function(){if("undefined"!=typeof Buffer){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(t){e=!0}return e?function(e,t){return t?new Buffer(e,t):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function S(e){return E?Buffer.alloc?Buffer.alloc(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}function k(e){return E?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}var _=function(e){return E?y(e,"binary"):e.split("").map(function(e){return 255&e.charCodeAt(0)})};function A(e){if("undefined"==typeof ArrayBuffer)return _(e);for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),a=0;a!=e.length;++a)r[a]=255&e.charCodeAt(a);return t}function x(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");for(var t=[],r=0;r=0;)t+=e.charAt(r--);return t}function F(e,t){var r=""+e;return r.length>=t?r:Ke("0",t-r.length)+r}function D(e,t){var r=""+e;return r.length>=t?r:Ke(" ",t-r.length)+r}function P(e,t){var r=""+e;return r.length>=t?r:r+Ke(" ",t-r.length)}var L=Math.pow(2,32);function M(e,t){return e>L||e<-L?function(e,t){var r=""+Math.round(e);return r.length>=t?r:Ke("0",t-r.length)+r}(e,t):function(e,t){var r=""+e;return r.length>=t?r:Ke("0",t-r.length)+r}(Math.round(e),t)}function U(e,t){return t=t||0,e.length>=7+t&&103==(32|e.charCodeAt(t))&&101==(32|e.charCodeAt(t+1))&&110==(32|e.charCodeAt(t+2))&&101==(32|e.charCodeAt(t+3))&&114==(32|e.charCodeAt(t+4))&&97==(32|e.charCodeAt(t+5))&&108==(32|e.charCodeAt(t+6))}var B=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],W=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]],H={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'},z={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},V={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function G(e,t,r){for(var a=e<0?-1:1,n=e*a,s=0,i=1,o=0,c=1,l=0,f=0,h=Math.floor(n);lt&&(l>t?(f=c,o=s):(f=l,o=i)),!r)return[0,a*o,f];var u=Math.floor(a*o/f);return[u,a*o-u*f,f]}function j(e,t,r){if(e>2958465||e<0)return null;var a=0|e,n=Math.floor(86400*(e-a)),s=0,i=[],o={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(o.u)<1e-6&&(o.u=0),t&&t.date1904&&(a+=1462),o.u>.9999&&(o.u=0,86400==++n&&(o.T=n=0,++a,++o.D)),60===a)i=r?[1317,10,29]:[1900,2,29],s=3;else if(0===a)i=r?[1317,8,29]:[1900,1,0],s=6;else{a>60&&--a;var c=new Date(1900,0,1);c.setDate(c.getDate()+a-1),i=[c.getFullYear(),c.getMonth()+1,c.getDate()],s=c.getDay(),a<60&&(s=(s+6)%7),r&&(s=function(e,t){t[0]-=581;var r=e.getDay();return e<60&&(r=(r+6)%7),r}(c,i))}return o.y=i[0],o.m=i[1],o.d=i[2],o.S=n%60,n=Math.floor(n/60),o.M=n%60,n=Math.floor(n/60),o.H=n,o.q=s,o}var X=new Date(1899,11,31,0,0,0),Y=X.getTime(),K=new Date(1900,2,1,0,0,0);function J(e,t){var r=e.getTime();return t?r-=1262304e5:e>=K&&(r+=864e5),(r-(Y+6e4*(e.getTimezoneOffset()-X.getTimezoneOffset())))/864e5}function q(e){return-1==e.indexOf(".")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function Z(e){var t,r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E);return t=r>=-4&&r<=-1?e.toPrecision(10+r):Math.abs(r)<=9?function(e){var t=e<0?12:11,r=q(e.toFixed(12));return r.length<=t||(r=e.toPrecision(10)).length<=t?r:e.toExponential(5)}(e):10===r?e.toFixed(10).substr(0,12):function(e){var t=q(e.toFixed(11));return t.length>(e<0?12:11)||"0"===t||"-0"===t?e.toPrecision(6):t}(e),q(function(e){return-1==e.indexOf("E")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}(t.toUpperCase()))}function Q(e,t){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(0|e)===e?e.toString(10):Z(e);case"undefined":return"";case"object":if(null==e)return"";if(e instanceof Date)return we(14,J(e,t&&t.date1904),t)}throw new Error("unsupported value in General format: "+e)}function ee(e,t,r,a){var n,s="",i=0,o=0,c=r.y,l=0;switch(e){case 98:c=r.y+543;case 121:switch(t.length){case 1:case 2:n=c%100,l=2;break;default:n=c%1e4,l=4}break;case 109:switch(t.length){case 1:case 2:n=r.m,l=t.length;break;case 3:return W[r.m-1][1];case 5:return W[r.m-1][0];default:return W[r.m-1][2]}break;case 100:switch(t.length){case 1:case 2:n=r.d,l=t.length;break;case 3:return B[r.q][0];default:return B[r.q][1]}break;case 104:switch(t.length){case 1:case 2:n=1+(r.H+11)%12,l=t.length;break;default:throw"bad hour format: "+t}break;case 72:switch(t.length){case 1:case 2:n=r.H,l=t.length;break;default:throw"bad hour format: "+t}break;case 77:switch(t.length){case 1:case 2:n=r.M,l=t.length;break;default:throw"bad minute format: "+t}break;case 115:if("s"!=t&&"ss"!=t&&".0"!=t&&".00"!=t&&".000"!=t)throw"bad second format: "+t;return 0!==r.u||"s"!=t&&"ss"!=t?(o=a>=2?3===a?1e3:100:1===a?10:1,(i=Math.round(o*(r.S+r.u)))>=60*o&&(i=0),"s"===t?0===i?"0":""+i/o:(s=F(i,2+a),"ss"===t?s.substr(0,2):"."+s.substr(2,t.length-1))):F(r.S,t.length);case 90:switch(t){case"[h]":case"[hh]":n=24*r.D+r.H;break;case"[m]":case"[mm]":n=60*(24*r.D+r.H)+r.M;break;case"[s]":case"[ss]":n=60*(60*(24*r.D+r.H)+r.M)+Math.round(r.S+r.u);break;default:throw"bad abstime format: "+t}l=3===t.length?1:2;break;case 101:n=c,l=1}return l>0?F(n,l):""}function te(e){if(e.length<=3)return e;for(var t=e.length%3,r=e.substr(0,t);t!=e.length;t+=3)r+=(r.length>0?",":"")+e.substr(t,3);return r}var re=/%/g;function ae(e,t){var r,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+ae(e,-t);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%n;if(s<0&&(s+=n),-1===(r=(t/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).indexOf("e")){var i=Math.floor(Math.log(t)*Math.LOG10E);for(-1===r.indexOf(".")?r=r.charAt(0)+"."+r.substr(1)+"E+"+(i-r.length+s):r+="E+"+(i-s);"0."===r.substr(0,2);)r=(r=r.charAt(0)+r.substr(2,n)+"."+r.substr(2+n)).replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");r=r.replace(/\+-/,"-")}r=r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,r,a){return t+r+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else r=t.toExponential(a);return e.match(/E\+00$/)&&r.match(/e[+-]\d$/)&&(r=r.substr(0,r.length-1)+"0"+r.charAt(r.length-1)),e.match(/E\-/)&&r.match(/e\+/)&&(r=r.replace(/e\+/,"e")),r.replace("e","E")}var ne=/# (\?+)( ?)\/( ?)(\d+)/,se=/^#*0*\.([0#]+)/,ie=/\).*[0#]/,oe=/\(###\) ###\\?-####/;function ce(e){for(var t,r="",a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t)}return r}function le(e,t){var r=Math.pow(10,t);return""+Math.round(e*r)/r}function fe(e,t){var r=e-Math.floor(e),a=Math.pow(10,t);return t<(""+Math.round(r*a)).length?0:Math.round(r*a)}function he(e,t,r){if(40===e.charCodeAt(0)&&!t.match(ie)){var a=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return r>=0?he("n",a,r):"("+he("n",a,-r)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,r){for(var a=t.length-1;44===t.charCodeAt(a-1);)--a;return pe(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}(e,t,r);if(-1!==t.indexOf("%"))return function(e,t,r){var a=t.replace(re,""),n=t.length-a.length;return pe(e,a,r*Math.pow(10,2*n))+Ke("%",n)}(e,t,r);if(-1!==t.indexOf("E"))return ae(t,r);if(36===t.charCodeAt(0))return"$"+he(e,t.substr(" "==t.charAt(1)?2:1),r);var n,s,i,o,c=Math.abs(r),l=r<0?"-":"";if(t.match(/^00+$/))return l+M(c,t.length);if(t.match(/^[#?]+$/))return"0"===(n=M(r,0))&&(n=""),n.length>t.length?n:ce(t.substr(0,t.length-n.length))+n;if(s=t.match(ne))return function(e,t,r){var a=parseInt(e[4],10),n=Math.round(t*a),s=Math.floor(n/a),i=n-s*a,o=a;return r+(0===s?"":""+s)+" "+(0===i?Ke(" ",e[1].length+1+e[4].length):D(i,e[1].length)+e[2]+"/"+e[3]+F(o,e[4].length))}(s,c,l);if(t.match(/^#+0+$/))return l+M(c,t.length-t.indexOf("0"));if(s=t.match(se))return n=le(r,s[1].length).replace(/^([^\.]+)$/,"$1."+ce(s[1])).replace(/\.$/,"."+ce(s[1])).replace(/\.(\d*)$/,function(e,t){return"."+t+Ke("0",ce(s[1]).length-t.length)}),-1!==t.indexOf("0.")?n:n.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return l+le(c,s[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return l+te(M(c,0));if(s=t.match(/^#,##0\.([#0]*0)$/))return r<0?"-"+he(e,t,-r):te(""+(Math.floor(r)+function(e,t){return t<(""+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}(r,s[1].length)))+"."+F(fe(r,s[1].length),s[1].length);if(s=t.match(/^#,#*,#0/))return he(e,t.replace(/^#,#*,/,""),r);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return n=N(he(e,t.replace(/[\\-]/g,""),r)),i=0,N(N(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-2147483648?""+(e>=0?0|e:e-1|0):""+Math.floor(e)}(r)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(e){return"00,"+(e.length<3?F(0,3-e.length):"")+e})+"."+F(i,s[1].length);switch(t){case"###,##0.00":return he(e,"#,##0.00",r);case"###,###":case"##,###":case"#,###":var d=te(M(c,0));return"0"!==d?l+d:"";case"###,###.00":return he(e,"###,##0.00",r).replace(/^0\./,".");case"#,###.00":return he(e,"#,##0.00",r).replace(/^0\./,".")}throw new Error("unsupported format |"+t+"|")}function ue(e,t){var r,a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+ue(e,-t);var n=e.indexOf(".");-1===n&&(n=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%n;if(s<0&&(s+=n),!(r=(t/Math.pow(10,s)).toPrecision(a+1+(n+s)%n)).match(/[Ee]/)){var i=Math.floor(Math.log(t)*Math.LOG10E);-1===r.indexOf(".")?r=r.charAt(0)+"."+r.substr(1)+"E+"+(i-r.length+s):r+="E+"+(i-s),r=r.replace(/\+-/,"-")}r=r.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,r,a){return t+r+a.substr(0,(n+s)%n)+"."+a.substr(s)+"E"})}else r=t.toExponential(a);return e.match(/E\+00$/)&&r.match(/e[+-]\d$/)&&(r=r.substr(0,r.length-1)+"0"+r.charAt(r.length-1)),e.match(/E\-/)&&r.match(/e\+/)&&(r=r.replace(/e\+/,"e")),r.replace("e","E")}function de(e,t,r){if(40===e.charCodeAt(0)&&!t.match(ie)){var a=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return r>=0?de("n",a,r):"("+de("n",a,-r)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,r){for(var a=t.length-1;44===t.charCodeAt(a-1);)--a;return pe(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}(e,t,r);if(-1!==t.indexOf("%"))return function(e,t,r){var a=t.replace(re,""),n=t.length-a.length;return pe(e,a,r*Math.pow(10,2*n))+Ke("%",n)}(e,t,r);if(-1!==t.indexOf("E"))return ue(t,r);if(36===t.charCodeAt(0))return"$"+de(e,t.substr(" "==t.charAt(1)?2:1),r);var n,s,i,o,c=Math.abs(r),l=r<0?"-":"";if(t.match(/^00+$/))return l+F(c,t.length);if(t.match(/^[#?]+$/))return n=""+r,0===r&&(n=""),n.length>t.length?n:ce(t.substr(0,t.length-n.length))+n;if(s=t.match(ne))return function(e,t,r){return r+(0===t?"":""+t)+Ke(" ",e[1].length+2+e[4].length)}(s,c,l);if(t.match(/^#+0+$/))return l+F(c,t.length-t.indexOf("0"));if(s=t.match(se))return n=(n=(""+r).replace(/^([^\.]+)$/,"$1."+ce(s[1])).replace(/\.$/,"."+ce(s[1]))).replace(/\.(\d*)$/,function(e,t){return"."+t+Ke("0",ce(s[1]).length-t.length)}),-1!==t.indexOf("0.")?n:n.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return l+(""+c).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return l+te(""+c);if(s=t.match(/^#,##0\.([#0]*0)$/))return r<0?"-"+de(e,t,-r):te(""+r)+"."+Ke("0",s[1].length);if(s=t.match(/^#,#*,#0/))return de(e,t.replace(/^#,#*,/,""),r);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return n=N(de(e,t.replace(/[\\-]/g,""),r)),i=0,N(N(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-1||"\\"==r&&"-"==e.charAt(t+1)&&"0#".indexOf(e.charAt(t+2))>-1););break;case"?":for(;e.charAt(++t)===r;);break;case"*":++t," "!=e.charAt(t)&&"*"!=e.charAt(t)||++t;break;case"(":case")":++t;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;t-1;);break;default:++t}return!1}var ve=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function be(e,t){if(null==t)return!1;var r=parseFloat(t[2]);switch(t[1]){case"=":if(e==r)return!0;break;case">":if(e>r)return!0;break;case"<":if(e":if(e!=r)return!0;break;case">=":if(e>=r)return!0;break;case"<=":if(e<=r)return!0}return!1}function we(e,t,r){null==r&&(r={});var a="";switch(typeof e){case"string":a="m/d/yy"==e&&r.dateNF?r.dateNF:e;break;case"number":null==(a=14==e&&r.dateNF?r.dateNF:(null!=r.table?r.table:H)[e])&&(a=r.table&&r.table[z[e]]||H[z[e]]),null==a&&(a=V[e]||"General")}if(U(a,0))return Q(t,r);t instanceof Date&&(t=J(t,r.date1904));var n=function(e,t){var r=function(e){for(var t=[],r=!1,a=0,n=0;a-1&&--a,r.length>4)throw new Error("cannot find right format for |"+r.join("|")+"|");if("number"!=typeof t)return[4,4===r.length||n>-1?r[r.length-1]:"@"];switch(r.length){case 1:r=n>-1?["General","General","General",r[0]]:[r[0],r[0],r[0],"@"];break;case 2:r=n>-1?[r[0],r[0],r[0],r[1]]:[r[0],r[1],r[0],"@"];break;case 3:r=n>-1?[r[0],r[1],r[0],r[2]]:[r[0],r[1],r[2],"@"]}var s=t>0?r[0]:t<0?r[1]:r[2];if(-1===r[0].indexOf("[")&&-1===r[1].indexOf("["))return[a,s];if(null!=r[0].match(/\[[=<>]/)||null!=r[1].match(/\[[=<>]/)){var i=r[0].match(ve),o=r[1].match(ve);return be(t,i)?[a,r[0]]:be(t,o)?[a,r[1]]:[a,r[null!=i&&null!=o?2:1]]}return[a,s]}(a,t);if(U(n[1]))return Q(t,r);if(!0===t)t="TRUE";else if(!1===t)t="FALSE";else if(""===t||null==t)return"";return function(e,t,r,a){for(var n,s,i,o=[],c="",l=0,f="",h="t",u="H";l=12?"P":"A"),m.t="T",u="h",l+=3):"AM/PM"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"PM":"AM"),m.t="T",l+=5,u="h"):"上午/下午"===e.substr(l,5).toUpperCase()?(null!=n&&(m.v=n.H>=12?"下午":"上午"),m.t="T",l+=5,u="h"):(m.t="t",++l),null==n&&"T"===m.t)return"";o[o.length]=m,h=f;break;case"[":for(c=f;"]"!==e.charAt(l++)&&l-1&&(c=(c.match(/\$([^-\[\]]*)/)||[])[1]||"$",ge(e)||(o[o.length]={t:"t",v:c}));break;case".":if(null!=n){for(c=f;++l-1;)c+=f;o[o.length]={t:"n",v:c};break;case"?":for(c=f;e.charAt(++l)===f;)c+=f;o[o.length]={t:f,v:c},h=f;break;case"*":++l," "!=e.charAt(l)&&"*"!=e.charAt(l)||++l;break;case"(":case")":o[o.length]={t:1===a?"t":f,v:f},++l;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(c=f;l-1;)c+=e.charAt(l);o[o.length]={t:"D",v:c};break;case" ":o[o.length]={t:f,v:f},++l;break;case"$":o[o.length]={t:"t",v:"$"},++l;break;default:if(-1===",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(f))throw new Error("unrecognized character "+f+" in "+e);o[o.length]={t:"t",v:f},++l}var g,v=0,b=0;for(l=o.length-1,h="t";l>=0;--l)switch(o[l].t){case"h":case"H":o[l].t=u,h="h",v<1&&(v=1);break;case"s":(g=o[l].v.match(/\.0+$/))&&(b=Math.max(b,g[0].length-1)),v<3&&(v=3);case"d":case"y":case"M":case"e":h=o[l].t;break;case"m":"s"===h&&(o[l].t="M",v<2&&(v=2));break;case"X":break;case"Z":v<1&&o[l].v.match(/[Hh]/)&&(v=1),v<2&&o[l].v.match(/[Mm]/)&&(v=2),v<3&&o[l].v.match(/[Ss]/)&&(v=3)}switch(v){case 0:break;case 1:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M),n.M>=60&&(n.M=0,++n.H);break;case 2:n.u>=.5&&(n.u=0,++n.S),n.S>=60&&(n.S=0,++n.M)}var w,T="";for(l=0;l0){40==T.charCodeAt(0)?(E=t<0&&45===T.charCodeAt(0)?-t:t,y=pe("n",T,E)):(y=pe("n",T,E=t<0&&a>1?-t:t),E<0&&o[0]&&"t"==o[0].t&&(y=y.substr(1),o[0].v="-"+o[0].v)),w=y.length-1;var k=o.length;for(l=0;l-1){k=l;break}var _=o.length;if(k===o.length&&-1===y.indexOf("E")){for(l=o.length-1;l>=0;--l)null!=o[l]&&-1!=="n?".indexOf(o[l].t)&&(w>=o[l].v.length-1?(w-=o[l].v.length,o[l].v=y.substr(w+1,o[l].v.length)):w<0?o[l].v="":(o[l].v=y.substr(0,w+1),w=-1),o[l].t="t",_=l);w>=0&&_=0;--l)if(null!=o[l]&&-1!=="n?".indexOf(o[l].t)){for(s=o[l].v.indexOf(".")>-1&&l===k?o[l].v.indexOf(".")-1:o[l].v.length-1,S=o[l].v.substr(s+1);s>=0;--s)w>=0&&("0"===o[l].v.charAt(s)||"#"===o[l].v.charAt(s))&&(S=y.charAt(w--)+S);o[l].v=S,o[l].t="t",_=l}for(w>=0&&_-1&&l===k?o[l].v.indexOf(".")+1:0,S=o[l].v.substr(0,s);s-1&&(E=a>1&&t<0&&l>0&&"-"===o[l-1].v?-t:t,o[l].v=pe(o[l].t,o[l].v,E),o[l].t="t");var A="";for(l=0;l!==o.length;++l)null!=o[l]&&(A+=o[l].v);return A}(n[1],t,r,n[0])}function Te(e,t){if("number"!=typeof t){t=+t||-1;for(var r=0;r<392;++r)if(null!=H[r]){if(H[r]==e){t=r;break}}else t<0&&(t=r);t<0&&(t=391)}return H[t]=e,t}function Ee(e){for(var t=0;392!=t;++t)void 0!==e[t]&&Te(e[t],t)}function ye(){var e;e||(e={}),e[0]="General",e[1]="0",e[2]="0.00",e[3]="#,##0",e[4]="#,##0.00",e[9]="0%",e[10]="0.00%",e[11]="0.00E+00",e[12]="# ?/?",e[13]="# ??/??",e[14]="m/d/yy",e[15]="d-mmm-yy",e[16]="d-mmm",e[17]="mmm-yy",e[18]="h:mm AM/PM",e[19]="h:mm:ss AM/PM",e[20]="h:mm",e[21]="h:mm:ss",e[22]="m/d/yy h:mm",e[37]="#,##0 ;(#,##0)",e[38]="#,##0 ;[Red](#,##0)",e[39]="#,##0.00;(#,##0.00)",e[40]="#,##0.00;[Red](#,##0.00)",e[45]="mm:ss",e[46]="[h]:mm:ss",e[47]="mmss.0",e[48]="##0.0E+0",e[49]="@",e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "',H=e}var Se={format:we,load:Te,_table:H,load_table:Ee,parse_date_code:j,is_date:ge,get_table:function(){return Se._table=H}},ke={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"},_e=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g,Ae=function(){var e={version:"1.2.0"},t=function(){for(var e=0,t=new Array(256),r=0;256!=r;++r)e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=r)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1,t[r]=e;return"undefined"!=typeof Int32Array?new Int32Array(t):t}(),r=function(e){var t=0,r=0,a=0,n="undefined"!=typeof Int32Array?new Int32Array(4096):new Array(4096);for(a=0;256!=a;++a)n[a]=e[a];for(a=0;256!=a;++a)for(r=e[a],t=256+a;t<4096;t+=256)r=n[t]=r>>>8^e[255&r];var s=[];for(a=1;16!=a;++a)s[a-1]="undefined"!=typeof Int32Array?n.subarray(256*a,256*a+256):n.slice(256*a,256*a+256);return s}(t),a=r[0],n=r[1],s=r[2],i=r[3],o=r[4],c=r[5],l=r[6],f=r[7],h=r[8],u=r[9],d=r[10],p=r[11],m=r[12],g=r[13],v=r[14];return e.table=t,e.bstr=function(e,r){for(var a=-1^r,n=0,s=e.length;n>>8^t[255&(a^e.charCodeAt(n++))];return~a},e.buf=function(e,r){for(var b=-1^r,w=e.length-15,T=0;T>8&255]^m[e[T++]^b>>16&255]^p[e[T++]^b>>>24]^d[e[T++]]^u[e[T++]]^h[e[T++]]^f[e[T++]]^l[e[T++]]^c[e[T++]]^o[e[T++]]^i[e[T++]]^s[e[T++]]^n[e[T++]]^a[e[T++]]^t[e[T++]];for(w+=15;T>>8^t[255&(b^e[T++])];return~b},e.str=function(e,r){for(var a=-1^r,n=0,s=e.length,i=0,o=0;n>>8^t[255&(a^i)]:i<2048?a=(a=a>>>8^t[255&(a^(192|i>>6&31))])>>>8^t[255&(a^(128|63&i))]:i>=55296&&i<57344?(i=64+(1023&i),o=1023&e.charCodeAt(n++),a=(a=(a=(a=a>>>8^t[255&(a^(240|i>>8&7))])>>>8^t[255&(a^(128|i>>2&63))])>>>8^t[255&(a^(128|o>>6&15|(3&i)<<4))])>>>8^t[255&(a^(128|63&o))]):a=(a=(a=a>>>8^t[255&(a^(224|i>>12&15))])>>>8^t[255&(a^(128|i>>6&63))])>>>8^t[255&(a^(128|63&i))];return~a},e}(),xe=function(){var e,t={};function r(e){if("/"==e.charAt(e.length-1))return-1===e.slice(0,-1).indexOf("/")?e:r(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(0,t+1)}function a(e){if("/"==e.charAt(e.length-1))return a(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)}function n(e,t){"string"==typeof t&&(t=new Date(t));var r=t.getHours();r=(r=r<<6|t.getMinutes())<<5|t.getSeconds()>>>1,e.write_shift(2,r);var a=t.getFullYear()-1980;a=(a=a<<4|t.getMonth()+1)<<5|t.getDate(),e.write_shift(2,a)}function s(e){Mr(e,0);for(var t={},r=0;e.l<=e.length-4;){var a=e.read_shift(2),n=e.read_shift(2),s=e.l+n,i={};21589===a&&(1&(r=e.read_shift(1))&&(i.mtime=e.read_shift(4)),n>5&&(2&r&&(i.atime=e.read_shift(4)),4&r&&(i.ctime=e.read_shift(4))),i.mtime&&(i.mt=new Date(1e3*i.mtime))),e.l=s,t[a]=i}return t}function i(){return e||(e={})}function o(e,t){if(80==e[0]&&75==e[1])return de(e,t);if(109==(32|e[0])&&105==(32|e[1]))return function(e,t){if("mime-version:"!=N(e.slice(0,13)).toLowerCase())throw new Error("Unsupported MAD header");var r=t&&t.root||"",a=(E&&Buffer.isBuffer(e)?e.toString("binary"):N(e)).split("\r\n"),n=0,s="";for(n=0;n0&&(r=(r=r.slice(0,r.length-1)).slice(0,r.lastIndexOf("/")+1),s.slice(0,r.length)!=r););var i=(a[1]||"").match(/boundary="(.*?)"/);if(!i)throw new Error("MAD cannot find boundary");var o="--"+(i[1]||""),c={FileIndex:[],FullPaths:[]};u(c);var l,f=0;for(n=0;n=n&&(u-=n),!i[u]){c=[];var p=[];for(h=u;h>=0;){p[h]=!0,i[h]=!0,o[o.length]=h,c.push(e[h]);var m=r[Math.floor(4*h/a)];if(a<4+(d=4*h&l))throw new Error("FAT boundary crossed: "+h+" 4 "+a);if(!e[m])break;if(p[h=Ir(e[m],d)])break}s[u]={nodes:o,data:ir([c])}}return s}(k,s,p,d);_[s].name="!Directory",a>0&&i!==v&&(_[i].name="!MiniFAT"),_[p[0]].name="!FAT",_.fat_addrs=p,_.ssz=d;var A=[],x=[],C=[];!function(e,t,r,a,n,s,i,o){for(var l,u=0,d=a.length?2:0,p=t[e].data,m=0,g=0;m0&&u!==v&&(t[u].name="!StreamData")):w.size>=4096?(w.storage="fat",void 0===t[w.start]&&(t[w.start]=f(r,w.start,t.fat_addrs,t.ssz)),t[w.start].name=w.name,w.content=t[w.start].data.slice(0,w.size)):(w.storage="minifat",w.size<0?w.size=0:u!==v&&w.start!==v&&t[u]&&(w.content=c(w,t[u].data,(t[o]||{}).data))),w.content&&Mr(w.content,0),s[l]=w,i.push(w)}}(s,_,k,A,a,{},x,i),function(e,t,r){for(var a=0,n=0,s=0,i=0,o=0,c=r.length,l=[],f=[];a0&&i>=0;)s.push(t.slice(i*g,i*g+g)),n-=g,i=Ir(r,4*i);return 0===s.length?Br(0):O(s).slice(0,e.size)}function l(e,t,r,a,n){var s=v;if(e===v){if(0!==t)throw new Error("DIFAT chain shorter than expected")}else if(-1!==e){var i=r[e],o=(a>>>2)-1;if(!i)return;for(var c=0;c=0;){n[c]=!0,s[s.length]=c,i.push(e[c]);var f=r[Math.floor(4*c/a)];if(a<4+(l=4*c&o))throw new Error("FAT boundary crossed: "+c+" 4 "+a);if(!e[f])break;c=Ir(e[f],l)}return{nodes:s,data:ir([i])}}function h(e,t){return new Date(1e3*(Rr(e,t+4)/1e7*Math.pow(2,32)+Rr(e,t)/1e7-11644473600))}function u(e,t){var r=t||{},a=r.root||"Root Entry";if(e.FullPaths||(e.FullPaths=[]),e.FileIndex||(e.FileIndex=[]),e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");0===e.FullPaths.length&&(e.FullPaths[0]=a+"/",e.FileIndex[0]={name:a,type:5}),r.CLSID&&(e.FileIndex[0].clsid=r.CLSID),function(e){var t="Sh33tJ5";if(!xe.find(e,"/"+t)){var r=Br(4);r[0]=55,r[1]=r[3]=50,r[2]=54,e.FileIndex.push({name:t,type:2,content:r,size:4,L:69,R:69,C:69}),e.FullPaths.push(e.FullPaths[0]+t),d(e)}}(e)}function d(e,t){u(e);for(var n=!1,s=!1,i=e.FullPaths.length-1;i>=0;--i){var o=e.FileIndex[i];switch(o.type){case 0:s?n=!0:(e.FileIndex.pop(),e.FullPaths.pop());break;case 1:case 2:case 5:s=!0,isNaN(o.R*o.L*o.C)&&(n=!0),o.R>-1&&o.L>-1&&o.R==o.L&&(n=!0);break;default:n=!0}}if(n||t){var c=new Date(1987,1,19),l=0,f=Object.create?Object.create(null):{},h=[];for(i=0;i1?1:-1,p.size=0,p.type=5;else if("/"==m.slice(-1)){for(l=i+1;l=h.length?-1:l,l=i+1;l=h.length?-1:l,p.type=1}else r(e.FullPaths[i+1]||"")==r(m)&&(p.R=i+1),p.type=2}}}function p(e,t){var r=t||{};if("mad"==r.fileType)return function(e,t){for(var r=t||{},a=r.boundary||"SheetJS",n=["MIME-Version: 1.0",'Content-Type: multipart/related; boundary="'+(a="------="+a).slice(2)+'"',"","",""],s=e.FullPaths[0],i=s,o=e.FileIndex[0],c=1;c=32&&d<128&&++h;var m=h>=4*u/5;n.push(a),n.push("Content-Location: "+(r.root||"file:///C:/SheetJS/")+i),n.push("Content-Transfer-Encoding: "+(m?"quoted-printable":"base64")),n.push("Content-Type: "+ge(o,i)),n.push(""),n.push(m?be(f):ve(f))}return n.push(a+"--\r\n"),n.join("\r\n")}(e,r);if(d(e),"zip"===r.fileType)return function(e,t){var r=t||{},a=[],s=[],i=Br(1),o=r.compression?8:0,c=0,l=0,f=0,h=0,u=e.FullPaths[0],d=u,p=e.FileIndex[0],m=[],g=0;for(c=1;c0&&(s<4096?t+=s+63>>6:r+=s+511>>9)}}for(var i=e.FullPaths.length+3>>2,o=t+127>>7,c=(t+7>>3)+r+i+o,l=c+127>>7,f=l<=109?0:Math.ceil((l-109)/127);c+l+f+127>>7>l;)f=++l<=109?0:Math.ceil((l-109)/127);var h=[1,f,l,o,i,r,t,0];return e.FileIndex[0].size=t<<6,h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3),h}(e),s=Br(a[7]<<9),i=0,o=0;for(i=0;i<8;++i)s.write_shift(1,A[i]);for(i=0;i<8;++i)s.write_shift(2,0);for(s.write_shift(2,62),s.write_shift(2,3),s.write_shift(2,65534),s.write_shift(2,9),s.write_shift(2,6),i=0;i<3;++i)s.write_shift(2,0);for(s.write_shift(4,0),s.write_shift(4,a[2]),s.write_shift(4,a[0]+a[1]+a[2]+a[3]-1),s.write_shift(4,0),s.write_shift(4,4096),s.write_shift(4,a[3]?a[0]+a[1]+a[2]-1:v),s.write_shift(4,a[3]),s.write_shift(-4,a[1]?a[0]-1:v),s.write_shift(4,a[1]),i=0;i<109;++i)s.write_shift(-4,i>9)));for(c(a[6]+7>>3);511&s.l;)s.write_shift(-4,C.ENDOFCHAIN);for(o=i=0,l=0;l=4096||(h.start=o,c(f+63>>6)));for(;511&s.l;)s.write_shift(-4,C.ENDOFCHAIN);for(i=0;i=4096)if(s.l=h.start+1<<9,E&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+511&-512;else{for(l=0;l0&&h.size<4096)if(E&&Buffer.isBuffer(h.content))h.content.copy(s,s.l,0,h.size),s.l+=h.size+63&-64;else{for(l=0;l>16|t>>8|t)}for(var U="undefined"!=typeof Uint8Array,B=U?new Uint8Array(256):[],W=0;W<256;++W)B[W]=M(W);function H(e,t){var r=B[255&e];return t<=8?r>>>8-t:(r=r<<8|B[e>>8&255],t<=16?r>>>16-t:(r=r<<8|B[e>>16&255])>>>24-t)}function z(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=6?0:e[a+1]<<8))>>>r&3}function V(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=5?0:e[a+1]<<8))>>>r&7}function G(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=3?0:e[a+1]<<8))>>>r&31}function j(e,t){var r=7&t,a=t>>>3;return(e[a]|(r<=1?0:e[a+1]<<8))>>>r&127}function X(e,t,r){var a=7&t,n=t>>>3,s=(1<>>a;return r<8-a?i&s:(i|=e[n+1]<<8-a,r<16-a?i&s:(i|=e[n+2]<<16-a,r<24-a?i&s:(i|=e[n+3]<<24-a)&s))}function $(e,t,r){var a=7&t,n=t>>>3;return a<=5?e[n]|=(7&r)<>8-a),t+3}function Y(e,t,r){return r=(1&r)<<(7&t),e[t>>>3]|=r,t+1}function K(e,t,r){var a=t>>>3;return r<<=7&t,e[a]|=255&r,r>>>=8,e[a+1]=r,t+8}function J(e,t,r){var a=t>>>3;return r<<=7&t,e[a]|=255&r,r>>>=8,e[a+1]=255&r,e[a+2]=r>>>8,t+16}function q(e,t){var r=e.length,a=2*r>t?2*r:t+5,n=0;if(r>=t)return e;if(E){var s=k(a);if(e.copy)e.copy(s);else for(;n>a-h,i=(1<=0;--i)t[o|i<0;)t[t.l++]=e[r++]}return t.l}(t,r):function(t,r){for(var n=0,s=0,i=U?new Uint16Array(32768):[];s0;)r[r.l++]=t[s++];n=8*r.l}else{n=$(r,n,+!(s+o!=t.length)+2);for(var c=0;o-- >0;){var l=t[s],f=-1,h=0;if((f=i[c=32767&(c<<5^l)])&&((f|=-32768&s)>s&&(f-=32768),f2){(l=a[h])<=22?n=K(r,n,B[l+1]>>1)-1:(K(r,n,3),K(r,n+=5,B[l-23]>>5),n+=3);var u=l<8?0:l-4>>2;u>0&&(J(r,n,h-P[l]),n+=u),l=e[s-f],n=K(r,n,B[l]>>3),n-=3;var d=l<4?0:l-2>>1;d>0&&(J(r,n,s-f-L[l]),n+=d);for(var p=0;p>>3;return(e[a]|(r<=4?0:e[a+1]<<8))>>>r&15}(e,t+=5)+4;t+=4;for(var s=0,i=U?new Uint8Array(19):Z(19),o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=1,l=U?new Uint8Array(8):Z(8),f=U?new Uint8Array(8):Z(8),h=i.length,u=0;u>8-p;for(var m=(1<<7-p)-1;m>=0;--m)oe[d|m<>>=3){case 16:for(s=3+z(e,t),t+=2,d=g[g.length-1];s-- >0;)g.push(d);break;case 17:for(s=3+V(e,t),t+=3;s-- >0;)g.push(0);break;case 18:for(s=11+j(e,t),t+=7;s-- >0;)g.push(0);break;default:g.push(d),c>>0,o=0,c=0;!(1&a);)if(a=V(e,r),r+=3,a>>>1!=0)for(a>>1==1?(o=9,c=5):(r=fe(e,r),o=ce,c=le);;){!t&&i>>1==1?ee[l]:se[l];if(r+=15&f,(f>>>=4)>>>8&255){if(256==f)break;var h=(f-=257)<8?0:f-4>>2;h>5&&(h=0);var u=s+P[f];h>0&&(u+=X(e,r,h),r+=h),l=X(e,r,c),r+=15&(f=a>>>1==1?te[l]:ie[l]);var d=(f>>>=4)<4?0:f-2>>1,p=L[f];for(d>0&&(p+=X(e,r,d),r+=d),!t&&i>>3]|e[(r>>>3)+1]<<8;if(r+=32,m>0)for(!t&&i0;)n[s++]=e[r>>>3],r+=8}return t?[n,r+7>>>3]:[n.slice(0,s),r+7>>>3]}(e.slice(e.l||0),t);return e.l+=r[1],r[0]}function ue(e,t){if(!e)throw new Error(t);"undefined"!=typeof console&&console.error(t)}function de(e,t){var r=e;Mr(r,0);var a={FileIndex:[],FullPaths:[]};u(a,{root:t.root});for(var n=r.length-4;(80!=r[n]||75!=r[n+1]||5!=r[n+2]||6!=r[n+3])&&n>=0;)--n;r.l=n+4,r.l+=4;var i=r.read_shift(2);r.l+=6;var o=r.read_shift(4);for(r.l=o,n=0;n>>=5);r>>>=4,a.setMilliseconds(0),a.setFullYear(r+1980),a.setMonth(s-1),a.setDate(n);var i=31&t,o=63&(t>>>=5);return t>>>=6,a.setHours(t),a.setMinutes(o),a.setSeconds(i<<1),a}(e);if(8257&i)throw new Error("Unsupported ZIP encryption");e.read_shift(4);for(var l=e.read_shift(4),f=e.read_shift(4),h=e.read_shift(2),u=e.read_shift(2),d="",p=0;p3&&(a=!0),n[s].slice(n[s].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[s].slice(n[s].length-1));case"D":r*=24;case"H":r*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");r*=60}t+=r*parseInt(n[s],10)}return t}var Ve=new Date("2017-02-19T19:06:09.000Z"),Ge=isNaN(Ve.getFullYear())?new Date("2/19/17"):Ve,je=2017==Ge.getFullYear();function Xe(e,t){var r=new Date(e);if(je)return t>0?r.setTime(r.getTime()+60*r.getTimezoneOffset()*1e3):t<0&&r.setTime(r.getTime()-60*r.getTimezoneOffset()*1e3),r;if(e instanceof Date)return e;if(1917==Ge.getFullYear()&&!isNaN(r.getFullYear())){var a=r.getFullYear();return e.indexOf(""+a)>-1||r.setFullYear(r.getFullYear()+100),r}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"],s=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);return e.indexOf("Z")>-1&&(s=new Date(s.getTime()-60*s.getTimezoneOffset()*1e3)),s}function $e(e,t){if(E&&Buffer.isBuffer(e)){if(t){if(255==e[0]&&254==e[1])return Lt(e.slice(2).toString("utf16le"));if(254==e[1]&&255==e[2])return Lt(u(e.slice(2).toString("binary")))}return e.toString("binary")}if("undefined"!=typeof TextDecoder)try{if(t){if(255==e[0]&&254==e[1])return Lt(new TextDecoder("utf-16le").decode(e.slice(2)));if(254==e[0]&&255==e[1])return Lt(new TextDecoder("utf-16be").decode(e.slice(2)))}var r={"€":"€","‚":"‚",ƒ:"ƒ","„":"„","…":"…","†":"†","‡":"‡",ˆ:"ˆ","‰":"‰",Š:"Š","‹":"‹",Œ:"Œ",Ž:"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™",š:"š","›":"›",œ:"œ",ž:"ž",Ÿ:"Ÿ"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return r[e]||e})}catch(e){}for(var a=[],n=0;n!=e.length;++n)a.push(String.fromCharCode(e[n]));return a.join("")}function Ye(e){if("undefined"!=typeof JSON&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if("object"!=typeof e||null==e)return e;if(e instanceof Date)return new Date(e.getTime());var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=Ye(e[r]));return t}function Ke(e,t){for(var r="";r.length3&&-1==qe.indexOf(i))return r}else if(i.match(/[a-z]/))return r;return a<0||a>8099?r:(n>0||s>1)&&101!=a?t:e.match(/[^-0-9:,\/\\]/)?r:t}var Qe=function(){var e=5=="abacaba".split(/(:?b)/i).length;return function(t,r,a){if(e||"string"==typeof r)return t.split(r);for(var n=t.split(r),s=[n[0]],i=1;i>6&31,n[r++]=128|63&i;else if(i>=55296&&i<57344){i=64+(1023&i);var o=1023&e.charCodeAt(++s);n[r++]=240|i>>8&7,n[r++]=128|i>>2&63,n[r++]=128|o>>6&15|(3&i)<<4,n[r++]=128|63&o}else n[r++]=224|i>>12&15,n[r++]=128|i>>6&63,n[r++]=128|63&i;r>a&&(t.push(n.slice(0,r)),r=0,n=S(65535),a=65530)}return t.push(n.slice(0,r)),O(t)}(r),xe.utils.cfb_add(e,t,a);xe.utils.cfb_add(e,t,r)}else e.file(t,r)}function lt(){return xe.utils.cfb_new()}function ft(e,t){switch(t.type){case"base64":return xe.read(e,{type:"base64"});case"binary":return xe.read(e,{type:"binary"});case"buffer":case"array":return xe.read(e,{type:"buffer"})}throw new Error("Unrecognized type "+t.type)}function ht(e,t){if("/"==e.charAt(0))return e.slice(1);var r=t.split("/");"/"!=t.slice(-1)&&r.pop();for(var a=e.split("/");0!==a.length;){var n=a.shift();".."===n?r.pop():"."!==n&&r.push(n)}return r.join("/")}var ut='\r\n',dt=/([^"\s?>\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g,pt=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,mt=ut.match(pt)?pt:/<[^>]*>/g,gt=/<\w*:/,vt=/<(\/?)\w+:/;function bt(e,t,r){for(var a={},n=0,s=0;n!==e.length&&32!==(s=e.charCodeAt(n))&&10!==s&&13!==s;++n);if(t||(a[0]=e.slice(0,n)),n===e.length)return a;var i=e.match(dt),o=0,c="",l=0,f="",h="",u=1;if(i)for(l=0;l!=i.length;++l){for(h=i[l],s=0;s!=h.length&&61!==h.charCodeAt(s);++s);for(f=h.slice(0,s).trim();32==h.charCodeAt(s+1);)++s;for(u=34==(n=h.charCodeAt(s+1))||39==n?1:0,c=h.slice(s+1+u,h.length-u),o=0;o!=f.length&&58!==f.charCodeAt(o);++o);if(o===f.length)f.indexOf("_")>0&&(f=f.slice(0,f.indexOf("_"))),a[f]=c,r||(a[f.toLowerCase()]=c);else{var d=(5===o&&"xmlns"===f.slice(0,5)?"xmlns":"")+f.slice(o+1);if(a[d]&&"ext"==f.slice(o-3,o))continue;a[d]=c,r||(a[d.toLowerCase()]=c)}}return a}function wt(e){return e.replace(vt,"<$1")}var Tt={""":'"',"'":"'",">":">","<":"<","&":"&"},Et=De(Tt),yt=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,t=/_x([\da-fA-F]{4})_/gi;return function r(a){var n=a+"",s=n.indexOf("-1?16:10))||e}).replace(t,function(e,t){return String.fromCharCode(parseInt(t,16))});var i=n.indexOf("]]>");return r(n.slice(0,s))+n.slice(s+9,i)+r(n.slice(i+3))}}(),St=/[&<>'"]/g,kt=/[\u0000-\u0008\u000b-\u001f]/g;function _t(e){return(e+"").replace(St,function(e){return Et[e]}).replace(kt,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function At(e){return _t(e).replace(/ /g,"_x0020_")}var xt=/[\u0000-\u001f]/g;function Ct(e){return(e+"").replace(St,function(e){return Et[e]}).replace(/\n/g,"
").replace(xt,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}var Ot=function(){var e=/&#(\d+);/g;function t(e,t){return String.fromCharCode(parseInt(t,10))}return function(r){return r.replace(e,t)}}();function Rt(e){switch(e){case 1:case!0:case"1":case"true":case"TRUE":return!0;default:return!1}}function It(e){for(var t="",r=0,a=0,n=0,s=0,i=0,o=0;r191&&a<224?(i=(31&a)<<6,i|=63&n,t+=String.fromCharCode(i)):(s=e.charCodeAt(r++),a<240?t+=String.fromCharCode((15&a)<<12|(63&n)<<6|63&s):(o=((7&a)<<18|(63&n)<<12|(63&s)<<6|63&(i=e.charCodeAt(r++)))-65536,t+=String.fromCharCode(55296+(o>>>10&1023)),t+=String.fromCharCode(56320+(1023&o)))));return t}function Nt(e){var t,r,a,n=S(2*e.length),s=1,i=0,o=0;for(r=0;r>>10&1023),t=56320+(1023&t)),0!==o&&(n[i++]=255&o,n[i++]=o>>>8,o=0),n[i++]=t%256,n[i++]=t>>>8;return n.slice(0,i).toString("ucs2")}function Ft(e){return y(e,"binary").toString("utf8")}var Dt="foo bar baz☃🍣",Pt=E&&(Ft(Dt)==It(Dt)&&Ft||Nt(Dt)==It(Dt)&&Nt)||It,Lt=E?function(e){return y(e,"utf8").toString("binary")}:function(e){for(var t=[],r=0,a=0,n=0;r>6))),t.push(String.fromCharCode(128+(63&a)));break;case a>=55296&&a<57344:a-=55296,n=e.charCodeAt(r++)-56320+(a<<10),t.push(String.fromCharCode(240+(n>>18&7))),t.push(String.fromCharCode(144+(n>>12&63))),t.push(String.fromCharCode(128+(n>>6&63))),t.push(String.fromCharCode(128+(63&n)));break;default:t.push(String.fromCharCode(224+(a>>12))),t.push(String.fromCharCode(128+(a>>6&63))),t.push(String.fromCharCode(128+(63&a)))}return t.join("")},Mt=function(){var e={};return function(t,r){var a=t+"|"+(r||"");return e[a]?e[a]:e[a]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",r||"")}}(),Ut=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function(t){for(var r=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,""),a=0;a([\\s\\S]*?)","g")}}(),Wt=/<\/?(?:vt:)?variant>/g,Ht=/<(?:vt:)([^>]*)>([\s\S]*)"+t+""}function jt(e){return Ne(e).map(function(t){return" "+t+'="'+e[t]+'"'}).join("")}function Xt(e,t,r){return"<"+e+(null!=r?jt(r):"")+(null!=t?(t.match(Vt)?' xml:space="preserve"':"")+">"+t+""}function $t(e,t){try{return e.toISOString().replace(/\.\d*/,"")}catch(e){if(t)throw e}return""}function Yt(e){if(E&&Buffer.isBuffer(e))return e.toString("utf8");if("string"==typeof e)return e;if("undefined"!=typeof Uint8Array&&e instanceof Uint8Array)return Pt(x(C(e)));throw new Error("Bad input format: expected Buffer or string")}var Kt=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm,Jt="http://schemas.openxmlformats.org/package/2006/content-types",qt="http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",Zt="http://schemas.openxmlformats.org/officeDocument/2006/relationships",Qt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",er="http://www.w3.org/2001/XMLSchema-instance",tr=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"],rr="urn:schemas-microsoft-com:office:office",ar="urn:schemas-microsoft-com:office:excel",nr="urn:schemas-microsoft-com:office:spreadsheet",sr=function(e){for(var t=[],r=0;r0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:y(e)})):sr(e)}:sr,or=function(e,t,r){for(var a=[],n=t;n0?ur(e,t+4,t+4+r-1):""},pr=dr,mr=function(e,t){var r=Rr(e,t);return r>0?ur(e,t+4,t+4+r-1):""},gr=mr,vr=function(e,t){var r=2*Rr(e,t);return r>0?ur(e,t+4,t+4+r-1):""},br=vr,wr=function(e,t){var r=Rr(e,t);return r>0?cr(e,t+4,t+4+r):""},Tr=wr,Er=function(e,t){var r=Rr(e,t);return r>0?ur(e,t+4,t+4+r):""},yr=Er,Sr=function(e,t){return function(e,t){for(var r=1-2*(e[t+7]>>>7),a=((127&e[t+7])<<4)+(e[t+6]>>>4&15),n=15&e[t+6],s=5;s>=0;--s)n=256*n+e[t+s];return 2047==a?0==n?r*(1/0):NaN:(0==a?a=-1022:(a-=1023,n+=Math.pow(2,52)),r*Math.pow(2,a-52)*n)}(e,t)},kr=Sr,_r=function(e){return Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array};function Ar(){cr=function(e,t,r){return d.utils.decode(1200,e.slice(t,r)).replace(R,"")},ur=function(e,t,r){return d.utils.decode(65001,e.slice(t,r))},pr=function(e,t){var r=Rr(e,t);return r>0?d.utils.decode(s,e.slice(t+4,t+4+r-1)):""},gr=function(e,t){var r=Rr(e,t);return r>0?d.utils.decode(n,e.slice(t+4,t+4+r-1)):""},br=function(e,t){var r=2*Rr(e,t);return r>0?d.utils.decode(1200,e.slice(t+4,t+4+r-1)):""},Tr=function(e,t){var r=Rr(e,t);return r>0?d.utils.decode(1200,e.slice(t+4,t+4+r)):""},yr=function(e,t){var r=Rr(e,t);return r>0?d.utils.decode(65001,e.slice(t+4,t+4+r)):""}}E&&(pr=function(e,t){if(!Buffer.isBuffer(e))return dr(e,t);var r=e.readUInt32LE(t);return r>0?e.toString("utf8",t+4,t+4+r-1):""},gr=function(e,t){if(!Buffer.isBuffer(e))return mr(e,t);var r=e.readUInt32LE(t);return r>0?e.toString("utf8",t+4,t+4+r-1):""},br=function(e,t){if(!Buffer.isBuffer(e))return vr(e,t);var r=2*e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+r-1)},Tr=function(e,t){if(!Buffer.isBuffer(e))return wr(e,t);var r=e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+r)},yr=function(e,t){if(!Buffer.isBuffer(e))return Er(e,t);var r=e.readUInt32LE(t);return e.toString("utf8",t+4,t+4+r)},kr=function(e,t){return Buffer.isBuffer(e)?e.readDoubleLE(t):Sr(e,t)},_r=function(e){return Buffer.isBuffer(e)||Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array}),void 0!==d&&Ar();var xr=function(e,t){return e[t]},Cr=function(e,t){return 256*e[t+1]+e[t]},Or=function(e,t){var r=256*e[t+1]+e[t];return r<32768?r:-1*(65535-r+1)},Rr=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},Ir=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},Nr=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};function Fr(e,t){var r,a,s,i,o,c,l="",f=[];switch(t){case"dbcs":if(c=this.l,E&&Buffer.isBuffer(this))l=this.slice(this.l,this.l+2*e).toString("utf16le");else for(o=0;o0?Ir:Nr)(this,this.l),this.l+=4,r);case 8:case-8:if("f"===t)return a=8==e?kr(this,this.l):kr([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,a;e=8;case 16:l=fr(this,this.l,e)}}return this.l+=e,l}var Dr=function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255};function Pr(e,t,r){var a=0,n=0;if("dbcs"===r){for(n=0;n!=t.length;++n)Dr(this,t.charCodeAt(n),this.l+2*n);a=2*t.length}else if("sbcs"===r){if(void 0!==d&&874==s)for(n=0;n!=t.length;++n){var i=d.utils.encode(s,t.charAt(n));this[this.l+n]=i[0]}else for(t=t.replace(/[^\x00-\x7F]/g,"_"),n=0;n!=t.length;++n)this[this.l+n]=255&t.charCodeAt(n);a=t.length}else{if("hex"===r){for(;n>8}for(;this.l>>=8,this[this.l+1]=255&t;break;case 3:a=3,this[this.l]=255&t,t>>>=8,this[this.l+1]=255&t,t>>>=8,this[this.l+2]=255&t;break;case 4:a=4,function(e,t,r){e[r]=255&t,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24&255}(this,t,this.l);break;case 8:if(a=8,"f"===r){!function(e,t,r){var a=(t<0||1/t==-1/0?1:0)<<7,n=0,s=0,i=a?-t:t;isFinite(i)?0==i?n=s=0:(n=Math.floor(Math.log(i)/Math.LN2),s=i*Math.pow(2,52-n),n<=-1023&&(!isFinite(s)||s>4|a}(this,t,this.l);break}case 16:break;case-4:a=4,function(e,t,r){e[r]=255&t,e[r+1]=t>>8&255,e[r+2]=t>>16&255,e[r+3]=t>>24&255}(this,t,this.l)}}return this.l+=a,this}function Lr(e,t){var r=fr(this,this.l,e.length>>1);if(r!==e)throw new Error(t+"Expected "+e+" saw "+r);this.l+=e.length>>1}function Mr(e,t){e.l=t,e.read_shift=Fr,e.chk=Lr,e.write_shift=Pr}function Ur(e,t){e.l+=t}function Br(e){var t=S(e);return Mr(t,0),t}function Wr(e,t,r){if(e){var a,n,s;Mr(e,e.l||0);for(var i=e.length,o=0,c=0;e.la.l&&((a=a.slice(0,a.l)).l=a.length),a.length>0&&e.push(a),a=null)},s=function(e){return a&&e=128?1:0)+1,a>=128&&++n,a>=16384&&++n,a>=2097152&&++n;var i=e.next(n);s<=127?i.write_shift(1,s):(i.write_shift(1,128+(127&s)),i.write_shift(1,s>>7));for(var o=0;4!=o;++o){if(!(a>=128)){i.write_shift(1,a);break}i.write_shift(1,128+(127&a)),a>>=7}a>0&&_r(r)&&e.push(r)}}function Vr(e,t,r){var a=Ye(e);if(t.s?(a.cRel&&(a.c+=t.s.c),a.rRel&&(a.r+=t.s.r)):(a.cRel&&(a.c+=t.c),a.rRel&&(a.r+=t.r)),!r||r.biff<12){for(;a.c>=256;)a.c-=256;for(;a.r>=65536;)a.r-=65536}return a}function Gr(e,t,r){var a=Ye(e);return a.s=Vr(a.s,t.s,r),a.e=Vr(a.e,t.s,r),a}function jr(e,t){if(e.cRel&&e.c<0)for(e=Ye(e);e.c<0;)e.c+=t>8?16384:256;if(e.rRel&&e.r<0)for(e=Ye(e);e.r<0;)e.r+=t>8?1048576:t>5?65536:16384;var r=Zr(e);return e.cRel||null==e.cRel||(r=r.replace(/^([A-Z])/,"$$$1")),e.rRel||null==e.rRel||(r=r.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")),r}function Xr(e,t){return 0!=e.s.r||e.s.rRel||e.e.r!=(t.biff>=12?1048575:t.biff>=8?65536:16384)||e.e.rRel?0!=e.s.c||e.s.cRel||e.e.c!=(t.biff>=12?16383:255)||e.e.cRel?jr(e.s,t.biff)+":"+jr(e.e,t.biff):(e.s.rRel?"":"$")+Yr(e.s.r)+":"+(e.e.rRel?"":"$")+Yr(e.e.r):(e.s.cRel?"":"$")+Jr(e.s.c)+":"+(e.e.cRel?"":"$")+Jr(e.e.c)}function $r(e){return parseInt(e.replace(/\$(\d+)$/,"$1"),10)-1}function Yr(e){return""+(e+1)}function Kr(e){for(var t=e.replace(/^\$([A-Z])/,"$1"),r=0,a=0;a!==t.length;++a)r=26*r+t.charCodeAt(a)-64;return r-1}function Jr(e){if(e<0)throw new Error("invalid column "+e);var t="";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function qr(e){for(var t=0,r=0,a=0;a=48&&n<=57?t=10*t+(n-48):n>=65&&n<=90&&(r=26*r+(n-64))}return{c:r-1,r:t-1}}function Zr(e){for(var t=e.c+1,r="";t;t=(t-1)/26|0)r=String.fromCharCode((t-1)%26+65)+r;return r+(e.r+1)}function Qr(e){var t=e.indexOf(":");return-1==t?{s:qr(e),e:qr(e)}:{s:qr(e.slice(0,t)),e:qr(e.slice(t+1))}}function ea(e,t){return void 0===t||"number"==typeof t?ea(e.s,e.e):("string"!=typeof e&&(e=Zr(e)),"string"!=typeof t&&(t=Zr(t)),e==t?e:e+":"+t)}function ta(e){var t={s:{c:0,r:0},e:{c:0,r:0}},r=0,a=0,n=0,s=e.length;for(r=0;a26);++a)r=26*r+n;for(t.s.c=--r,r=0;a9);++a)r=10*r+n;if(t.s.r=--r,a===s||10!=n)return t.e.c=t.s.c,t.e.r=t.s.r,t;for(++a,r=0;a!=s&&!((n=e.charCodeAt(a)-64)<1||n>26);++a)r=26*r+n;for(t.e.c=--r,r=0;a!=s&&!((n=e.charCodeAt(a)-48)<0||n>9);++a)r=10*r+n;return t.e.r=--r,t}function ra(e,t,r){return null==e||null==e.t||"z"==e.t?"":void 0!==e.w?e.w:("d"==e.t&&!e.z&&r&&r.dateNF&&(e.z=r.dateNF),"e"==e.t?Wa[e.v]||e.v:function(e,t){var r="d"==e.t&&t instanceof Date;if(null!=e.z)try{return e.w=we(e.z,r?Me(t):t)}catch(e){}try{return e.w=we((e.XF||{}).numFmtId||(r?14:0),r?Me(t):t)}catch(e){return""+t}}(e,null==t?e.v:t))}function aa(e,t){var r=t&&t.sheet?t.sheet:"Sheet1",a={};return a[r]=e,{SheetNames:[r],Sheets:a}}function na(e,t,r){var a=r||{},n=e?Array.isArray(e):a.dense,s=e||(n?[]:{}),i=0,o=0;if(s&&null!=a.origin){if("number"==typeof a.origin)i=a.origin;else{var c="string"==typeof a.origin?qr(a.origin):a.origin;i=c.r,o=c.c}s["!ref"]||(s["!ref"]="A1:A1")}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(s["!ref"]){var f=ta(s["!ref"]);l.s.c=f.s.c,l.s.r=f.s.r,l.e.c=Math.max(l.e.c,f.e.c),l.e.r=Math.max(l.e.r,f.e.r),-1==i&&(l.e.r=i=f.e.r+1)}for(var h=0;h!=t.length;++h)if(t[h]){if(!Array.isArray(t[h]))throw new Error("aoa_to_sheet expects an array of arrays");for(var u=0;u!=t[h].length;++u)if(void 0!==t[h][u]){var d={v:t[h][u]},p=i+h,m=o+u;if(l.s.r>p&&(l.s.r=p),l.s.c>m&&(l.s.c=m),l.e.r0&&t.write_shift(0,e,"dbcs"),r?t.slice(0,t.l):t}function la(e){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function fa(e,t){var r=e.l,a=e.read_shift(1),n=oa(e),s=[],i={t:n,h:n};if(1&a){for(var o=e.read_shift(4),c=0;c!=o;++c)s.push(la(e));i.r=s}else i.r=[{ich:0,ifnt:0}];return e.l=r+t,i}var ha=fa;function ua(e){var t=e.read_shift(4),r=e.read_shift(2);return r+=e.read_shift(1)<<16,e.l++,{c:t,iStyleRef:r}}function da(e,t){return null==t&&(t=Br(8)),t.write_shift(-4,e.c),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}function pa(e){var t=e.read_shift(2);return t+=e.read_shift(1)<<16,e.l++,{c:-1,iStyleRef:t}}function ma(e,t){return null==t&&(t=Br(4)),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}var ga=oa,va=ca;function ba(e){var t=e.read_shift(4);return 0===t||4294967295===t?"":e.read_shift(t,"dbcs")}function wa(e,t){var r=!1;return null==t&&(r=!0,t=Br(127)),t.write_shift(4,e.length>0?e.length:4294967295),e.length>0&&t.write_shift(0,e,"dbcs"),r?t.slice(0,t.l):t}var Ta=oa,Ea=ba,ya=wa;function Sa(e){var t=e.slice(e.l,e.l+4),r=1&t[0],a=2&t[0];e.l+=4;var n=0===a?kr([0,0,0,0,252&t[0],t[1],t[2],t[3]],0):Ir(t,0)>>2;return r?n/100:n}function ka(e,t){null==t&&(t=Br(4));var r=0,a=0,n=100*e;if(e==(0|e)&&e>=-(1<<29)&&e<1<<29?a=1:n==(0|n)&&n>=-(1<<29)&&n<1<<29&&(a=1,r=1),!a)throw new Error("unsupported RkNumber "+e);t.write_shift(-4,((r?n:e)<<2)+(r+2))}function _a(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}var Aa=_a,xa=function(e,t){return t||(t=Br(16)),t.write_shift(4,e.s.r),t.write_shift(4,e.e.r),t.write_shift(4,e.s.c),t.write_shift(4,e.e.c),t};function Ca(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e.read_shift(8,"f")}function Oa(e,t){return(t||Br(8)).write_shift(8,e,"f")}function Ra(e,t){if(t||(t=Br(8)),!e||e.auto)return t.write_shift(4,0),t.write_shift(4,0),t;null!=e.index?(t.write_shift(1,2),t.write_shift(1,e.index)):null!=e.theme?(t.write_shift(1,6),t.write_shift(1,e.theme)):(t.write_shift(1,5),t.write_shift(1,0));var r=e.tint||0;if(r>0?r*=32767:r<0&&(r*=32768),t.write_shift(2,r),e.rgb&&null==e.theme){var a=e.rgb||"FFFFFF";"number"==typeof a&&(a=("000000"+a.toString(16)).slice(-6)),t.write_shift(1,parseInt(a.slice(0,2),16)),t.write_shift(1,parseInt(a.slice(2,4),16)),t.write_shift(1,parseInt(a.slice(4,6),16)),t.write_shift(1,255)}else t.write_shift(2,0),t.write_shift(1,0),t.write_shift(1,0);return t}function Ia(e,t){var r=e.read_shift(4);switch(r){case 0:return"";case 4294967295:case 4294967294:return{2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"}[e.read_shift(4)]||""}if(r>400)throw new Error("Unsupported Clipboard: "+r.toString(16));return e.l-=4,e.read_shift(0,1==t?"lpstr":"lpwstr")}var Na=80,Fa=[Na,81],Da={1:{n:"CodePage",t:2},2:{n:"Category",t:Na},3:{n:"PresentationFormat",t:Na},4:{n:"ByteCount",t:3},5:{n:"LineCount",t:3},6:{n:"ParagraphCount",t:3},7:{n:"SlideCount",t:3},8:{n:"NoteCount",t:3},9:{n:"HiddenCount",t:3},10:{n:"MultimediaClipCount",t:3},11:{n:"ScaleCrop",t:11},12:{n:"HeadingPairs",t:4108},13:{n:"TitlesOfParts",t:4126},14:{n:"Manager",t:Na},15:{n:"Company",t:Na},16:{n:"LinksUpToDate",t:11},17:{n:"CharacterCount",t:3},19:{n:"SharedDoc",t:11},22:{n:"HyperlinksChanged",t:11},23:{n:"AppVersion",t:3,p:"version"},24:{n:"DigSig",t:65},26:{n:"ContentType",t:Na},27:{n:"ContentStatus",t:Na},28:{n:"Language",t:Na},29:{n:"Version",t:Na},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},Pa={1:{n:"CodePage",t:2},2:{n:"Title",t:Na},3:{n:"Subject",t:Na},4:{n:"Author",t:Na},5:{n:"Keywords",t:Na},6:{n:"Comments",t:Na},7:{n:"Template",t:Na},8:{n:"LastAuthor",t:Na},9:{n:"RevNumber",t:Na},10:{n:"EditTime",t:64},11:{n:"LastPrinted",t:64},12:{n:"CreatedDate",t:64},13:{n:"ModifiedDate",t:64},14:{n:"PageCount",t:3},15:{n:"WordCount",t:3},16:{n:"CharCount",t:3},17:{n:"Thumbnail",t:71},18:{n:"Application",t:Na},19:{n:"DocSecurity",t:3},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},La={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"},Ma=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Ua(e){return e.map(function(e){return[e>>16&255,e>>8&255,255&e]})}var Ba=Ye(Ua([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),Wa={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"},Ha={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255},za={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"},Va={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function Ga(e,t){var r,a=function(e){for(var t=[],r=Ne(e),a=0;a!==r.length;++a)null==t[e[r[a]]]&&(t[e[r[a]]]=[]),t[e[r[a]]].push(r[a]);return t}(za),n=[];n[n.length]=ut,n[n.length]=Xt("Types",null,{xmlns:Jt,"xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":er}),n=n.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return Xt("Default",null,{Extension:e[0],ContentType:e[1]})}));var s=function(a){e[a]&&e[a].length>0&&(r=e[a][0],n[n.length]=Xt("Override",null,{PartName:("/"==r[0]?"":"/")+r,ContentType:Va[a][t.bookType]||Va[a].xlsx}))},i=function(r){(e[r]||[]).forEach(function(e){n[n.length]=Xt("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:Va[r][t.bookType]||Va[r].xlsx})})},o=function(t){(e[t]||[]).forEach(function(e){n[n.length]=Xt("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:a[t][0]})})};return s("workbooks"),i("sheets"),i("charts"),o("themes"),["strs","styles"].forEach(s),["coreprops","extprops","custprops"].forEach(o),o("vba"),o("comments"),o("threadedcomments"),o("drawings"),i("metadata"),o("people"),n.length>2&&(n[n.length]="",n[1]=n[1].replace("/>",">")),n.join("")}var ja={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Xa(e){var t=e.lastIndexOf("/");return e.slice(0,t+1)+"_rels/"+e.slice(t+1)+".rels"}function $a(e,t){var r={"!id":{}};if(!e)return r;"/"!==t.charAt(0)&&(t="/"+t);var a={};return(e.match(mt)||[]).forEach(function(e){var n=bt(e);if("2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Ka(e,t,r,a,n,s){if(n||(n={}),e["!id"]||(e["!id"]={}),e["!idx"]||(e["!idx"]=1),t<0)for(t=e["!idx"];e["!id"]["rId"+t];++t);if(e["!idx"]=t+1,n.Id="rId"+t,n.Type=a,n.Target=r,s?n.TargetMode=s:[ja.HLINK,ja.XPATH,ja.XMISS].indexOf(n.Type)>-1&&(n.TargetMode="External"),e["!id"][n.Id])throw new Error("Cannot rewrite rId "+t);return e["!id"][n.Id]=n,e[("/"+n.Target).replace("//","/")]=n,t}function Ja(e,t,r){return[' \n',' \n'," \n"].join("")}function qa(e,t){return[' \n',' \n'," \n"].join("")}function Za(){return'SheetJS '+a+""}var Qa=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]],en=function(){for(var e=new Array(Qa.length),t=0;t]*>([\\s\\S]*?)")}return e}();function tn(e){var t={};e=Pt(e);for(var r=0;r0&&(t[a[1]]=yt(n[1])),"date"===a[2]&&t[a[1]]&&(t[a[1]]=Xe(t[a[1]]))}return t}function rn(e,t,r,a,n){null==n[e]&&null!=t&&""!==t&&(n[e]=t,t=_t(t),a[a.length]=r?Xt(e,t,r):Gt(e,t))}function an(e,t){var r=t||{},a=[ut,Xt("cp:coreProperties",null,{"xmlns:cp":"http://schemas.openxmlformats.org/package/2006/metadata/core-properties","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:dcterms":"http://purl.org/dc/terms/","xmlns:dcmitype":"http://purl.org/dc/dcmitype/","xmlns:xsi":er})],n={};if(!e&&!r.Props)return a.join("");e&&(null!=e.CreatedDate&&rn("dcterms:created","string"==typeof e.CreatedDate?e.CreatedDate:$t(e.CreatedDate,r.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n),null!=e.ModifiedDate&&rn("dcterms:modified","string"==typeof e.ModifiedDate?e.ModifiedDate:$t(e.ModifiedDate,r.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n));for(var s=0;s!=Qa.length;++s){var i=Qa[s],o=r.Props&&null!=r.Props[i[1]]?r.Props[i[1]]:e?e[i[1]]:null;!0===o?o="1":!1===o?o="0":"number"==typeof o&&(o=String(o)),null!=o&&rn(i[0],o,null,a,n)}return a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}var nn=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]],sn=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function on(e,t,r,a){var n=[];if("string"==typeof e)n=zt(e,a);else for(var s=0;s0)for(var l=0;l!==n.length;l+=2){switch(c=+n[l+1].v,n[l].v){case"Worksheets":case"工作表":case"Листы":case"أوراق العمل":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Regneark":case"Hojas de cálculo":case"Werkbladen":r.Worksheets=c,r.SheetNames=i.slice(o,o+c);break;case"Named Ranges":case"Rangos con nombre":case"名前付き一覧":case"Benannte Bereiche":case"Navngivne områder":r.NamedRanges=c,r.DefinedNames=i.slice(o,o+c);break;case"Charts":case"Diagramme":r.Chartsheets=c,r.ChartNames=i.slice(o,o+c)}o+=c}}function cn(e){var t=[],r=Xt;return e||(e={}),e.Application="SheetJS",t[t.length]=ut,t[t.length]=Xt("Properties",null,{xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties","xmlns:vt":Qt}),nn.forEach(function(a){if(void 0!==e[a[1]]){var n;switch(a[2]){case"string":n=_t(String(e[a[1]]));break;case"bool":n=e[a[1]]?"true":"false"}void 0!==n&&(t[t.length]=r(a[0],n))}}),t[t.length]=r("HeadingPairs",r("vt:vector",r("vt:variant","Worksheets")+r("vt:variant",r("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"})),t[t.length]=r("TitlesOfParts",r("vt:vector",e.SheetNames.map(function(e){return""+_t(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"})),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var ln=/<[^>]+>[^<]*/g;function fn(e){var t=[ut,Xt("Properties",null,{xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties","xmlns:vt":Qt})];if(!e)return t.join("");var r=1;return Ne(e).forEach(function(a){++r,t[t.length]=Xt("property",function(e){switch(typeof e){case"string":var t=Xt("vt:lpwstr",_t(e));return t=t.replace(/"/g,"_x0022_");case"number":return Xt((0|e)==e?"vt:i4":"vt:r8",_t(String(e)));case"boolean":return Xt("vt:bool",e?"true":"false")}if(e instanceof Date)return Xt("vt:filetime",$t(e));throw new Error("Unable to serialize "+e)}(e[a]),{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:r,name:_t(a)})}),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var hn,un={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};function dn(e,t,r){hn||(hn=De(un)),e[t=hn[t]||t]=r}function pn(e){var t=e.read_shift(4),r=e.read_shift(4);return new Date(1e3*(r/1e7*Math.pow(2,32)+t/1e7-11644473600)).toISOString().replace(/\.000/,"")}function mn(e,t,r){var a=e.l,n=e.read_shift(0,"lpstr-cp");if(r)for(;e.l-a&3;)++e.l;return n}function gn(e,t,r){var a=e.read_shift(0,"lpwstr");return r&&(e.l+=4-(a.length+1&3)&3),a}function vn(e,t,r){return 31===t?gn(e):mn(e,0,r)}function bn(e,t,r){return vn(e,t,!1===r?0:4)}function wn(e){var t=e.l,r=yn(e,81);return 0==e[e.l]&&0==e[e.l+1]&&e.l-t&2&&(e.l+=2),[r,yn(e,3)]}function Tn(e,t){for(var r=e.read_shift(4),a={},n=0;n!=r;++n){var s=e.read_shift(4),i=e.read_shift(4);a[s]=e.read_shift(i,1200===t?"utf16le":"utf8").replace(R,"").replace(I,"!"),1200===t&&i%2&&(e.l+=2)}return 3&e.l&&(e.l=e.l>>3<<2),a}function En(e){var t=e.read_shift(4),r=e.slice(e.l,e.l+t);return e.l+=t,(3&t)>0&&(e.l+=4-(3&t)&3),r}function yn(e,t,r){var a,n=e.read_shift(2),s=r||{};if(e.l+=2,12!==t&&n!==t&&-1===Fa.indexOf(t)&&(4126!=(65534&t)||4126!=(65534&n)))throw new Error("Expected type "+t+" saw "+n);switch(12===t?n:t){case 2:return a=e.read_shift(2,"i"),s.raw||(e.l+=2),a;case 3:return e.read_shift(4,"i");case 11:return 0!==e.read_shift(4);case 19:return e.read_shift(4);case 30:return mn(e,0,4).replace(R,"");case 31:return gn(e);case 64:return pn(e);case 65:return En(e);case 71:return function(e){var t={};return t.Size=e.read_shift(4),e.l+=t.Size+3-(t.Size-1)%4,t}(e);case 80:return bn(e,n,!s.raw).replace(R,"");case 81:return function(e,t){if(!t)throw new Error("VtUnalignedString must have positive length");return vn(e,t,0)}(e,n).replace(R,"");case 4108:return function(e){for(var t=e.read_shift(4),r=[],a=0;a0&&(r%=Math.pow(2,32),a+=n);var s=Br(8);return s.write_shift(4,r),s.write_shift(4,a),s}(t);break;case 31:case 80:for((a=Br(4+2*(t.length+1)+(t.length%2?0:2))).write_shift(4,t.length+1),a.write_shift(0,t,"dbcs");a.l!=a.length;)a.write_shift(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+t)}return O([r,a])}function kn(e,t){var r=e.l,a=e.read_shift(4),n=e.read_shift(4),s=[],i=0,o=0,c=-1,f={};for(i=0;i!=n;++i){var h=e.read_shift(4),u=e.read_shift(4);s[i]=[h,u+r]}s.sort(function(e,t){return e[1]-t[1]});var d={};for(i=0;i!=n;++i){if(e.l!==s[i][1]){var p=!0;if(i>0&&t)switch(t[s[i-1][0]].t){case 2:e.l+2===s[i][1]&&(e.l+=2,p=!1);break;case 80:case 4108:e.l<=s[i][1]&&(e.l=s[i][1],p=!1)}if((!t||0==i)&&e.l<=s[i][1]&&(p=!1,e.l=s[i][1]),p)throw new Error("Read Error: Expected address "+s[i][1]+" at "+e.l+" :"+i)}if(t){var m=t[s[i][0]];if(d[m.n]=yn(e,m.t,{raw:!0}),"version"===m.p&&(d[m.n]=String(d[m.n]>>16)+"."+("0000"+String(65535&d[m.n])).slice(-4)),"CodePage"==m.n)switch(d[m.n]){case 0:d[m.n]=1252;case 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252:case 65e3:case-536:case 65001:case-535:l(o=d[m.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[m.n])}}else if(1===s[i][0]){if(o=d.CodePage=yn(e,2),l(o),-1!==c){var g=e.l;e.l=s[c][1],f=Tn(e,o),e.l=g}}else if(0===s[i][0]){if(0===o){c=i,e.l=s[i+1][1];continue}f=Tn(e,o)}else{var v,b=f[s[i][0]];switch(e[e.l]){case 65:e.l+=4,v=En(e);break;case 30:case 31:e.l+=4,v=bn(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4,v=e.read_shift(4,"i");break;case 19:e.l+=4,v=e.read_shift(4);break;case 5:e.l+=4,v=e.read_shift(8,"f");break;case 11:e.l+=4,v=In(e,4);break;case 64:e.l+=4,v=Xe(pn(e));break;default:throw new Error("unparsed value: "+e[e.l])}d[b]=v}}return e.l=r+a,d}var _n=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function An(e){switch(typeof e){case"boolean":return 11;case"number":return(0|e)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64}return-1}function xn(e,t,r){var a=Br(8),n=[],s=[],i=8,o=0,c=Br(8),l=Br(8);if(c.write_shift(4,2),c.write_shift(4,1200),l.write_shift(4,1),s.push(c),n.push(l),i+=8+c.length,!t){(l=Br(8)).write_shift(4,0),n.unshift(l);var f=[Br(4)];for(f[0].write_shift(4,e.length),o=0;o-1||sn.indexOf(e[o][0])>-1)&&null!=e[o][1]){var u=e[o][1],d=0;if(t){var p=r[d=+t[e[o][0]]];if("version"==p.p&&"string"==typeof u){var m=u.split(".");u=(+m[0]<<16)+(+m[1]||0)}c=Sn(p.t,u)}else{var g=An(u);-1==g&&(g=31,u=String(u)),c=Sn(g,u)}s.push(c),(l=Br(8)).write_shift(4,t?d:2+o),n.push(l),i+=8+c.length}var v=8*(s.length+1);for(o=0;o=12?2:1),s="sbcs-cont",i=n;r&&r.biff>=8&&(n=1200),r&&8!=r.biff?12==r.biff&&(s="wstr"):e.read_shift(1)&&(s="dbcs-cont"),r.biff>=2&&r.biff<=5&&(s="cpstr");var o=a?e.read_shift(a,s):"";return n=i,o}function Un(e){var t=n;n=1200;var r,a=e.read_shift(2),s=e.read_shift(1),i=4&s,o=8&s,c=1+(1&s),l=0,f={};o&&(l=e.read_shift(2)),i&&(r=e.read_shift(4));var h=2==c?"dbcs-cont":"sbcs-cont",u=0===a?"":e.read_shift(a,h);return o&&(e.l+=4*l),i&&(e.l+=r),f.t=u,o||(f.raw=""+f.t+"",f.r=f.t),n=t,f}function Bn(e){var t=e.t||"",r=Br(3);r.write_shift(2,t.length),r.write_shift(1,1);var a=Br(2*t.length);return a.write_shift(2*t.length,t,"utf16le"),O([r,a])}function Wn(e,t,r){if(r){if(r.biff>=2&&r.biff<=5)return e.read_shift(t,"cpstr");if(r.biff>=12)return e.read_shift(t,"dbcs-cont")}return 0===e.read_shift(1)?e.read_shift(t,"sbcs-cont"):e.read_shift(t,"dbcs-cont")}function Hn(e,t,r){var a=e.read_shift(r&&2==r.biff?1:2);return 0===a?(e.l++,""):Wn(e,a,r)}function zn(e,t,r){if(r.biff>5)return Hn(e,0,r);var a=e.read_shift(1);return 0===a?(e.l++,""):e.read_shift(a,r.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function Vn(e,t,r){return r||(r=Br(3+2*e.length)),r.write_shift(2,e.length),r.write_shift(1,1),r.write_shift(31,e,"utf16le"),r}function Gn(e){var t=e.read_shift(4);return t>0?e.read_shift(t,"utf16le").replace(R,""):""}function jn(e,t){t||(t=Br(6+2*e.length)),t.write_shift(4,1+e.length);for(var r=0;r-1?31:23;switch(a.charAt(0)){case"#":s=28;break;case".":s&=-3}t.write_shift(4,2),t.write_shift(4,s);var i=[8,6815827,6619237,4849780,83];for(r=0;r-1?a.slice(0,n):a;for(t.write_shift(4,2*(o.length+1)),r=0;r-1?a.slice(n+1):"",t)}else{for(i="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" "),r=0;r8?4:2;return[e.read_shift(a),e.read_shift(a,"i"),e.read_shift(a,"i")]}function Zn(e){return[e.read_shift(2),Sa(e)]}function Qn(e){var t=e.read_shift(2),r=e.read_shift(2);return{s:{c:e.read_shift(2),r:t},e:{c:e.read_shift(2),r}}}function es(e,t){return t||(t=Br(8)),t.write_shift(2,e.s.r),t.write_shift(2,e.e.r),t.write_shift(2,e.s.c),t.write_shift(2,e.e.c),t}function ts(e){var t=e.read_shift(2),r=e.read_shift(2);return{s:{c:e.read_shift(1),r:t},e:{c:e.read_shift(1),r}}}var rs=ts;function as(e){e.l+=4;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(2);return e.l+=12,[r,t,a]}function ns(e){e.l+=2,e.l+=e.read_shift(2)}var ss={0:ns,4:ns,5:ns,6:ns,7:function(e){return e.l+=4,e.cf=e.read_shift(2),{}},8:ns,9:ns,10:ns,11:ns,12:ns,13:function(e){var t={};return e.l+=4,e.l+=16,t.fSharedNote=e.read_shift(2),e.l+=4,t},14:ns,15:ns,16:ns,17:ns,18:ns,19:ns,20:ns,21:as};function is(e,t){var r={BIFFVer:0,dt:0};switch(r.BIFFVer=e.read_shift(2),(t-=2)>=2&&(r.dt=e.read_shift(2),e.l-=2),r.BIFFVer){case 1536:case 1280:case 1024:case 768:case 512:case 2:case 7:break;default:if(t>6)throw new Error("Unexpected BIFF Ver "+r.BIFFVer)}return e.read_shift(t),r}function os(e,t,r){var a=1536,n=16;switch(r.bookType){case"biff8":case"xla":break;case"biff5":a=1280,n=8;break;case"biff4":a=4,n=6;break;case"biff3":a=3,n=6;break;case"biff2":a=2,n=4;break;default:throw new Error("unsupported BIFF version")}var s=Br(n);return s.write_shift(2,a),s.write_shift(2,t),n>4&&s.write_shift(2,29282),n>6&&s.write_shift(2,1997),n>8&&(s.write_shift(2,49161),s.write_shift(2,1),s.write_shift(2,1798),s.write_shift(2,0)),s}function cs(e,t){var r=!t||t.biff>=8?2:1,a=Br(8+r*e.name.length);a.write_shift(4,e.pos),a.write_shift(1,e.hs||0),a.write_shift(1,e.dt),a.write_shift(1,e.name.length),t.biff>=8&&a.write_shift(1,1),a.write_shift(r*e.name.length,e.name,t.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);return n.l=a.l,n}function ls(e,t,r){var a=0;r&&2==r.biff||(a=e.read_shift(2));var n=e.read_shift(2);return r&&2==r.biff&&(a=1-(n>>15),n&=32767),[{Unsynced:1&a,DyZero:(2&a)>>1,ExAsc:(4&a)>>2,ExDsc:(8&a)>>3},n]}function fs(e,t,r,a){var n=r&&5==r.biff;a||(a=Br(n?3+t.length:5+2*t.length)),a.write_shift(2,e),a.write_shift(n?1:2,t.length),n||a.write_shift(1,1),a.write_shift((n?1:2)*t.length,t,n?"sbcs":"utf16le");var s=a.length>a.l?a.slice(0,a.l):a;return null==s.l&&(s.l=s.length),s}var hs=zn;function us(e,t,r){var a=e.l+t,n=8!=r.biff&&r.biff?2:4,s=e.read_shift(n),i=e.read_shift(n),o=e.read_shift(2),c=e.read_shift(2);return e.l=a,{s:{r:s,c:o},e:{r:i,c}}}function ds(e,t,r,a){var n=r&&5==r.biff;a||(a=Br(n?16:20)),a.write_shift(2,0),e.style?(a.write_shift(2,e.numFmtId||0),a.write_shift(2,65524)):(a.write_shift(2,e.numFmtId||0),a.write_shift(2,t<<4));var s=0;return e.numFmtId>0&&n&&(s|=1024),a.write_shift(4,s),a.write_shift(4,0),n||a.write_shift(4,0),a.write_shift(2,0),a}function ps(e,t,r){var a=Kn(e);2!=r.biff&&9!=t||++e.l;var n=function(e){var t=e.read_shift(1);return 1===e.read_shift(1)?t:1===t}(e);return a.val=n,a.t=!0===n||!1===n?"b":"e",a}var ms=function(e,t,r){return 0===t?"":zn(e,0,r)};function gs(e,t,r){var a,n=e.read_shift(2),s={fBuiltIn:1&n,fWantAdvise:n>>>1&1,fWantPict:n>>>2&1,fOle:n>>>3&1,fOleLink:n>>>4&1,cf:n>>>5&1023,fIcon:n>>>15&1};return 14849===r.sbcch&&(a=function(e,t,r){e.l+=4,t-=4;var a=e.l+t,n=Mn(e,0,r),s=e.read_shift(2);if(s!==(a-=e.l))throw new Error("Malformed AddinUdf: padding = "+a+" != "+s);return e.l+=s,n}(e,t-2,r)),s.body=a||e.read_shift(t-2),"string"==typeof a&&(s.Name=a),s}var vs=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function bs(e,t,r){var a=e.l+t,n=e.read_shift(2),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(r&&2==r.biff?1:2),c=0;(!r||r.biff>=5)&&(5!=r.biff&&(e.l+=2),c=e.read_shift(2),5==r.biff&&(e.l+=2),e.l+=4);var l=Wn(e,i,r);32&n&&(l=vs[l.charCodeAt(0)]);var f=a-e.l;r&&2==r.biff&&--f;var h=a!=e.l&&0!==o&&f>0?function(e,t,r,a){var n,s=e.l+t,i=_o(e,a,r);return s!==e.l&&(n=ko(e,s-e.l,i,r)),[i,n]}(e,f,r,o):[];return{chKey:s,Name:l,itab:c,rgce:h}}function ws(e,t,r){if(r.biff<8)return function(e,t,r){3==e[e.l+1]&&e[e.l]++;var a=Mn(e,0,r);return 3==a.charCodeAt(0)?a.slice(1):a}(e,0,r);for(var a=[],n=e.l+t,s=e.read_shift(r.biff>8?4:2);0!==s--;)a.push(qn(e,r.biff,r));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function Ts(e,t,r){var a=rs(e,6);switch(r.biff){case 2:e.l++,t-=7;break;case 3:case 4:e.l+=2,t-=8;break;default:e.l+=6,t-=12}return[a,Io(e,t,r)]}var Es={8:function(e,t){var r=e.l+t;e.l+=10;var a=e.read_shift(2);e.l+=4,e.l+=2,e.l+=2,e.l+=2,e.l+=4;var n=e.read_shift(1);return e.l+=n,e.l=r,{fmt:a}}};function ys(e){var t=Br(24),r=qr(e[0]);t.write_shift(2,r.r),t.write_shift(2,r.r),t.write_shift(2,r.c),t.write_shift(2,r.c);for(var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "),n=0;n<16;++n)t.write_shift(1,parseInt(a[n],16));return O([t,Xn(e[1])])}function Ss(e){var t=e[1].Tooltip,r=Br(10+2*(t.length+1));r.write_shift(2,2048);var a=qr(e[0]);r.write_shift(2,a.r),r.write_shift(2,a.r),r.write_shift(2,a.c),r.write_shift(2,a.c);for(var n=0;n=12?4:2,n=e.read_shift(a),s=e.read_shift(a),i=e.read_shift(a),o=e.read_shift(a),c=e.read_shift(2);2==a&&(e.l+=2);var l={s:n,e:s,w:i,ixfe:o,flags:c};return(r.biff>=5||!r.biff)&&(l.level=c>>8&7),l}var _s=Kn,As=Pn,xs=Hn,Cs=[2,3,48,49,131,139,140,245],Os=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},t=De({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function r(t,r){var a=r||{};a.dateNF||(a.dateNF="yyyymmdd");var n=sa(function(t,r){var a=[],n=S(1);switch(r.type){case"base64":n=_(T(t));break;case"binary":n=_(t);break;case"buffer":case"array":n=t}Mr(n,0);var s=n.read_shift(1),i=!!(136&s),o=!1,c=!1;switch(s){case 2:case 3:case 131:case 139:case 245:break;case 48:case 49:o=!0,i=!0;break;case 140:c=!0;break;default:throw new Error("DBF Unsupported Version: "+s.toString(16))}var l=0,f=521;2==s&&(l=n.read_shift(2)),n.l+=3,2!=s&&(l=n.read_shift(4)),l>1048576&&(l=1e6),2!=s&&(f=n.read_shift(2));var h=n.read_shift(2),u=r.codepage||1252;2!=s&&(n.l+=16,n.read_shift(1),0!==n[n.l]&&(u=e[n[n.l]]),n.l+=1,n.l+=2),c&&(n.l+=36);for(var p=[],m={},g=Math.min(n.length,2==s?521:f-10-(o?264:0)),v=c?32:11;n.l0;)if(42!==n[n.l])for(++n.l,a[++b]=[],w=0,w=0;w!=p.length;++w){var E=n.slice(n.l,n.l+p[w].len);n.l+=p[w].len,Mr(E,0);var y=d.utils.decode(u,E);switch(p[w].type){case"C":y.trim().length&&(a[b][w]=y.replace(/\s+$/,""));break;case"D":8===y.length?a[b][w]=new Date(+y.slice(0,4),+y.slice(4,6)-1,+y.slice(6,8)):a[b][w]=y;break;case"F":a[b][w]=parseFloat(y.trim());break;case"+":case"I":a[b][w]=c?2147483648^E.read_shift(-4,"i"):E.read_shift(4,"i");break;case"L":switch(y.trim().toUpperCase()){case"Y":case"T":a[b][w]=!0;break;case"N":case"F":a[b][w]=!1;break;case"":case"?":break;default:throw new Error("DBF Unrecognized L:|"+y+"|")}break;case"M":if(!i)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));a[b][w]="##MEMO##"+(c?parseInt(y.trim(),10):E.read_shift(4));break;case"N":(y=y.replace(/\u0000/g,"").trim())&&"."!=y&&(a[b][w]=+y||0);break;case"@":a[b][w]=new Date(E.read_shift(-8,"f")-621356832e5);break;case"T":a[b][w]=new Date(864e5*(E.read_shift(4)-2440588)+E.read_shift(4));break;case"Y":a[b][w]=E.read_shift(4,"i")/1e4+E.read_shift(4,"i")/1e4*Math.pow(2,32);break;case"O":a[b][w]=-E.read_shift(-8,"f");break;case"B":if(o&&8==p[w].len){a[b][w]=E.read_shift(8,"f");break}case"G":case"P":E.l+=p[w].len;break;case"0":if("_NullFlags"===p[w].name)break;default:throw new Error("DBF Unsupported data type "+p[w].type)}}else n.l+=h;if(2!=s&&n.l=0&&l(+n.codepage),"string"==n.type)throw new Error("Cannot write DBF to JS string");var i=Hr(),o=Lf(e,{header:1,raw:!0,cellDates:!0}),c=o[0],f=o.slice(1),h=e["!cols"]||[],u=0,d=0,p=0,m=1;for(u=0;u250&&(y=250),"C"==(E=((h[u]||{}).DBF||{}).type)&&h[u].DBF.len>y&&(y=h[u].DBF.len),"B"==T&&"N"==E&&(T="N",w[u]=h[u].DBF.dec,y=h[u].DBF.len),b[u]="C"==T||"N"==E?y:a[T]||0,m+=b[u],v[u]=T}else v[u]="?"}var k=i.next(32);for(k.write_shift(4,318902576),k.write_shift(4,f.length),k.write_shift(2,296+32*p),k.write_shift(2,m),u=0;u<4;++u)k.write_shift(4,0);for(k.write_shift(4,(+t[s]||3)<<8),u=0,d=0;u":190,"?":191,"{":223},t=new RegExp("N("+Ne(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm"),r=function(t,r){var a=e[r];return"number"==typeof a?g(a):a},a=function(e,t,r){var a=t.charCodeAt(0)-32<<4|r.charCodeAt(0)-48;return 59==a?e:g(a)};function n(e,n){var s,i=e.split(/[\n\r]+/),o=-1,c=-1,f=0,h=0,u=[],p=[],m=null,g={},v=[],b=[],w=[],T=0;for(+n.codepage>=0&&l(+n.codepage);f!==i.length;++f){T=0;var E,y=i[f].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,a).replace(t,r),S=y.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")}),k=S[0];if(y.length>0)switch(k){case"ID":case"E":case"B":case"O":case"W":break;case"P":"P"==S[1].charAt(0)&&p.push(y.slice(3).replace(/;;/g,";"));break;case"C":var _=!1,A=!1,x=!1,C=!1,O=-1,R=-1;for(h=1;h-1&&u[O][R];if(!N||!N[1])throw new Error("SYLK shared formula cannot find base");u[o][c][1]=to(N[1],{r:o-O,c:c-R})}break;case"F":var F=0;for(h=1;h0?(v[o].hpt=T,v[o].hpx=mi(T)):0===T&&(v[o].hidden=!0);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+y)}F<1&&(m=null);break;default:if(n&&n.WTF)throw new Error("SYLK bad record "+y)}}return v.length>0&&(g["!rows"]=v),b.length>0&&(g["!cols"]=b),n&&n.sheetRows&&(u=u.slice(0,n.sheetRows)),[u,g]}function s(e,t){var r=function(e,t){switch(t.type){case"base64":return n(T(e),t);case"binary":return n(e,t);case"buffer":return n(E&&Buffer.isBuffer(e)?e.toString("binary"):x(e),t);case"array":return n($e(e),t)}throw new Error("Unrecognized type "+t.type)}(e,t),a=r[0],s=r[1],i=sa(a,t);return Ne(s).forEach(function(e){i[e]=s[e]}),i}function i(e,t,r,a){var n="C;Y"+(r+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0,e.f&&!e.F&&(n+=";E"+eo(e.f,{r,c:a}));break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"'}return n}return e["|"]=254,{to_workbook:function(e,t){return aa(s(e,t),t)},to_sheet:s,from_sheet:function(e,t){var r,a,n=["ID;PWXL;N;E"],s=[],o=ta(e["!ref"]),c=Array.isArray(e),l="\r\n";n.push("P;PGeneral"),n.push("F;P0;DG0G8;M255"),e["!cols"]&&(a=n,e["!cols"].forEach(function(e,t){var r="F;W"+(t+1)+" "+(t+1)+" ";e.hidden?r+="0":("number"!=typeof e.width||e.wpx||(e.wpx=ci(e.width)),"number"!=typeof e.wpx||e.wch||(e.wch=li(e.wpx)),"number"==typeof e.wch&&(r+=Math.round(e.wch)))," "!=r.charAt(r.length-1)&&a.push(r)})),e["!rows"]&&function(e,t){t.forEach(function(t,r){var a="F;";t.hidden?a+="M0;":t.hpt?a+="M"+20*t.hpt+";":t.hpx&&(a+="M"+20*pi(t.hpx)+";"),a.length>2&&e.push(a+"R"+(r+1))})}(n,e["!rows"]),n.push("B;Y"+(o.e.r-o.s.r+1)+";X"+(o.e.c-o.s.c+1)+";D"+[o.s.c,o.s.r,o.e.c,o.e.r].join(" "));for(var f=o.s.r;f<=o.e.r;++f)for(var h=o.s.c;h<=o.e.c;++h){var u=Zr({r:f,c:h});(r=c?(e[f]||[])[h]:e[u])&&(null!=r.v||r.f&&!r.F)&&s.push(i(r,0,f,h))}return n.join(l)+l+s.join(l)+l+"E"+l}}}(),Is=function(){function e(e,t){for(var r=e.split("\n"),a=-1,n=-1,s=0,i=[];s!==r.length;++s)if("BOT"!==r[s].trim()){if(!(a<0)){for(var o=r[s].trim().split(","),c=o[0],l=o[1],f=r[++s]||"";1&(f.match(/["]/g)||[]).length&&s=0?o=l:n=l}}),c>=0&&-1==o&&n>=0&&(o=n,n=-1);var l=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(s>=1?s:1)).slice(-2);7==l.length&&(l="0"+l),8==l.length&&(l="20"+l);var f=("00"+(i>=0?i:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2)+":"+("00"+(c>=0?c:0)).slice(-2);return-1==i&&-1==o&&-1==c?l:-1==a&&-1==n&&-1==s?f:l+"T"+f}(0,r.dateNF,t.match(b)||[]),n=1),r.cellDates?(a.t="d",a.v=Xe(t,n)):(a.t="n",a.v=Me(Xe(t,n))),!1!==r.cellText&&(a.w=we(a.z,a.v instanceof Date?Me(a.v):a.v)),r.cellNF||delete a.z}else a.t="s",a.v=t;else a.t="n",!1!==r.cellText&&(a.w=t),a.v=l;if("z"==a.t||(r.dense?(s[o]||(s[o]=[]),s[o][c]=a):s[Zr({c,r:o})]=a),f=h+1,m=e.charCodeAt(f),i.e.c0&&w(),s["!ref"]=ea(i),s}function s(t,r){var a="",s="string"==r.type?[0,0,0,0]:Tf(t,r);switch(r.type){case"base64":a=T(t);break;case"binary":case"string":a=t;break;case"buffer":a=65001==r.codepage?t.toString("utf8"):r.codepage&&void 0!==d?d.utils.decode(r.codepage,t):E&&Buffer.isBuffer(t)?t.toString("binary"):x(t);break;case"array":a=$e(t);break;default:throw new Error("Unrecognized type "+r.type)}return 239==s[0]&&187==s[1]&&191==s[2]?a=Pt(a.slice(3)):"string"!=r.type&&"buffer"!=r.type&&65001==r.codepage?a=Pt(a):"binary"==r.type&&void 0!==d&&r.codepage&&(a=d.utils.decode(r.codepage,d.utils.encode(28591,a))),"socialcalc:version:"==a.slice(0,19)?Ns.to_sheet("string"==r.type?a:Pt(a),r):function(t,r){return r&&r.PRN?r.FS||"sep="==t.slice(0,4)||t.indexOf("\t")>=0||t.indexOf(",")>=0||t.indexOf(";")>=0?n(t,r):sa(function(t,r){var a=r||{},n=[];if(!t||0===t.length)return n;for(var s=t.split(/[\r\n]/),i=s.length-1;i>=0&&0===s[i].length;)--i;for(var o=10,c=0,l=0;l<=i;++l)-1==(c=s[l].indexOf(" "))?c=s[l].length:c++,o=Math.max(o,c);for(l=0;l<=i;++l){n[l]=[];var f=0;for(e(s[l].slice(0,o).trim(),n,l,f,a),f=1;f<=(s[l].length-o)/10+1;++f)e(s[l].slice(o+10*(f-1),o+10*f).trim(),n,l,f,a)}return a.sheetRows&&(n=n.slice(0,a.sheetRows)),n}(t,r),r):n(t,r)}(a,r)}return{to_workbook:function(e,t){return aa(s(e,t),t)},to_sheet:s,from_sheet:function(e){for(var t,r=[],a=ta(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){for(var i=[],o=a.s.c;o<=a.e.c;++o){var c=Zr({r:s,c:o});if((t=n?(e[s]||[])[o]:e[c])&&null!=t.v){for(var l=(t.w||(ra(t),t.w)||"").slice(0,10);l.length<10;)l+=" ";i.push(l+(0===o?" ":""))}else i.push(" ")}r.push(i.join(""))}return r.join("\n")}}}(),Ds=function(){function e(e,t,r){if(e){Mr(e,e.l||0);for(var a=r.Enum||b;e.l=16&&5==t[14]&&108===t[15])throw new Error("Unsupported Works 3 for Mac file");if(2==t[2])a.Enum=b,e(t,function(e,t,r){switch(r){case 0:a.vers=e,e>=4096&&(a.qpro=!0);break;case 6:h=e;break;case 204:e&&(i=e);break;case 222:i=e;break;case 15:case 51:a.qpro||(e[1].v=e[1].v.slice(1));case 13:case 14:case 16:14==r&&!(112&~e[2])&&(15&e[2])>1&&(15&e[2])<15&&(e[1].z=a.dateNF||H[14],a.cellDates&&(e[1].t="d",e[1].v=He(e[1].v))),a.qpro&&e[3]>o&&(n["!ref"]=ea(h),c[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s=i||"Sheet"+(o+1),i="");var f=a.dense?(n[e[0].r]||[])[e[0].c]:n[Zr(e[0])];if(f){f.t=e[1].t,f.v=e[1].v,null!=e[1].z&&(f.z=e[1].z),null!=e[1].f&&(f.f=e[1].f);break}a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[Zr(e[0])]=e[1]}},a);else{if(26!=t[2]&&14!=t[2])throw new Error("Unrecognized LOTUS BOF "+t[2]);a.Enum=w,14==t[2]&&(a.qpro=!0,t.l=0),e(t,function(e,t,r){switch(r){case 204:s=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(e[3]>o&&(n["!ref"]=ea(h),c[s]=n,l.push(s),n=a.dense?[]:{},h={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s="Sheet"+(o+1)),u>0&&e[0].r>=u)break;a.dense?(n[e[0].r]||(n[e[0].r]=[]),n[e[0].r][e[0].c]=e[1]):n[Zr(e[0])]=e[1],h.e.c=128?95:s)}return a.write_shift(1,0),a}function s(e,t,r){var a=Br(7);return a.write_shift(1,255),a.write_shift(2,t),a.write_shift(2,e),a.write_shift(2,r,"i"),a}function i(e,t,r){var a=Br(13);return a.write_shift(1,255),a.write_shift(2,t),a.write_shift(2,e),a.write_shift(8,r,"f"),a}function o(e,t,r){var a=32768&t;return t=(a?e:0)+((t&=-32769)>=8192?t-16384:t),(a?"":"$")+(r?Jr(t):Yr(t))}var c={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]},f=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function h(e){var t=[{c:0,r:0},{t:"n",v:0},0];return t[0].r=e.read_shift(2),t[3]=e[e.l++],t[0].c=e[e.l++],t}function u(e,t,r,a){var n=Br(6+a.length);n.write_shift(2,e),n.write_shift(1,r),n.write_shift(1,t),n.write_shift(1,39);for(var s=0;s=128?95:i)}return n.write_shift(1,0),n}function d(e,t){var r=h(e),a=e.read_shift(4),n=e.read_shift(4),s=e.read_shift(2);if(65535==s)return 0===a&&3221225472===n?(r[1].t="e",r[1].v=15):0===a&&3489660928===n?(r[1].t="e",r[1].v=42):r[1].v=0,r;var i=32768&s;return s=(32767&s)-16446,r[1].v=(1-2*i)*(n*Math.pow(2,s+32)+a*Math.pow(2,s)),r}function p(e,t,r,a){var n=Br(14);if(n.write_shift(2,e),n.write_shift(1,r),n.write_shift(1,t),0==a)return n.write_shift(4,0),n.write_shift(4,0),n.write_shift(2,65535),n;var s,i=0,o=0,c=0;return a<0&&(i=1,a=-a),o=0|Math.log2(a),2147483648&(c=(a/=Math.pow(2,o-31))>>>0)||(++o,c=(a/=2)>>>0),a-=c,c|=2147483648,c>>>=0,s=(a*=Math.pow(2,32))>>>0,n.write_shift(4,s),n.write_shift(4,c),o+=16383+(i?32768:0),n.write_shift(2,o),n}function m(e,t){var r=h(e),a=e.read_shift(8,"f");return r[1].v=a,r}function g(e,t){return 0==e[e.l+t-1]?e.read_shift(t,"cstr"):""}function v(e,t){var r=Br(5+e.length);r.write_shift(2,14e3),r.write_shift(2,t);for(var a=0;a127?95:n}return r[r.l++]=0,r}var b={0:{n:"BOF",f:Fn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:function(e,t,r){var a={s:{c:0,r:0},e:{c:0,r:0}};return 8==t&&r.qpro?(a.s.c=e.read_shift(1),e.l++,a.s.r=e.read_shift(2),a.e.c=e.read_shift(1),e.l++,a.e.r=e.read_shift(2),a):(a.s.c=e.read_shift(2),a.s.r=e.read_shift(2),12==t&&r.qpro&&(e.l+=2),a.e.c=e.read_shift(2),a.e.r=e.read_shift(2),12==t&&r.qpro&&(e.l+=2),65535==a.s.c&&(a.s.c=a.e.c=a.s.r=a.e.r=0),a)}},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:function(e,t,a){var n=r(e,0,a);return n[1].v=e.read_shift(2,"i"),n}},14:{n:"NUMBER",f:function(e,t,a){var n=r(e,0,a);return n[1].v=e.read_shift(8,"f"),n}},15:{n:"LABEL",f:a},16:{n:"FORMULA",f:function(e,t,a){var n=e.l+t,s=r(e,0,a);if(s[1].v=e.read_shift(8,"f"),a.qpro)e.l=n;else{var i=e.read_shift(2);!function(e,t){Mr(e,0);for(var r=[],a=0,n="",s="",i="",l="";e.lr.length)return void console.error("WK1 bad formula parse 0x"+h.toString(16)+":|"+r.join("|")+"|");var m=r.slice(-a);r.length-=a,r.push(c[h][0]+"("+m.join(",")+")")}}}1==r.length?t[1].f=""+r[0]:console.error("WK1 bad formula parse |"+r.join("|")+"|")}(e.slice(e.l,e.l+i),s),e.l+=i}return s}},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:a},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:g},222:{n:"SHEETNAMELP",f:function(e,t){var r=e[e.l++];r>t-1&&(r=t-1);for(var a="";a.length>1;if(1&r[1].v)switch(7&a){case 0:a=5e3*(a>>3);break;case 1:a=500*(a>>3);break;case 2:a=(a>>3)/20;break;case 3:a=(a>>3)/200;break;case 4:a=(a>>3)/2e3;break;case 5:a=(a>>3)/2e4;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64}return r[1].v=a,r}},25:{n:"FORMULA19",f:function(e,t){var r=d(e);return e.l+=t-14,r}},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:function(e,t){for(var r={},a=e.l+t;e.l>6,r}},38:{n:"??"},39:{n:"NUMBER27",f:m},40:{n:"FORMULA28",f:function(e,t){var r=m(e);return e.l+=t-10,r}},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:g},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:function(e,t,r){if(r.qpro&&!(t<21)){var a=e.read_shift(1);return e.l+=17,e.l+=1,e.l+=2,[a,e.read_shift(t-21,"cstr")]}}},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:function(e,t){var r=t||{};if(+r.codepage>=0&&l(+r.codepage),"string"==r.type)throw new Error("Cannot write WK1 to JS string");var a,o=Hr(),c=ta(e["!ref"]),f=Array.isArray(e),h=[];gl(o,0,((a=Br(2)).write_shift(2,1030),a)),gl(o,6,function(e){var t=Br(8);return t.write_shift(2,e.s.c),t.write_shift(2,e.s.r),t.write_shift(2,e.e.c),t.write_shift(2,e.e.r),t}(c));for(var u=Math.min(c.e.r,8191),d=c.s.r;d<=u;++d)for(var p=Yr(d),m=c.s.c;m<=c.e.c;++m){d===c.s.r&&(h[m]=Jr(m));var g=h[m]+p,v=f?(e[d]||[])[m]:e[g];v&&"z"!=v.t&&("n"==v.t?(0|v.v)==v.v&&v.v>=-32768&&v.v<=32767?gl(o,13,s(d,m,v.v)):gl(o,14,i(d,m,v.v)):gl(o,15,n(d,m,ra(v).slice(0,239))))}return gl(o,1),o.end()},book_to_wk3:function(e,t){var r=t||{};if(+r.codepage>=0&&l(+r.codepage),"string"==r.type)throw new Error("Cannot write WK3 to JS string");var a=Hr();gl(a,0,function(e){var t=Br(26);t.write_shift(2,4096),t.write_shift(2,4),t.write_shift(4,0);for(var r=0,a=0,n=0,s=0;s8191&&(r=8191),t.write_shift(2,r),t.write_shift(1,n),t.write_shift(1,a),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(1,1),t.write_shift(1,2),t.write_shift(4,0),t.write_shift(4,0),t}(e));for(var n=0,s=0;n":case"":t.shadow=1;break;case"":break;case"":case"":t.outline=1;break;case"":break;case"":case"":t.strike=1;break;case"":break;case"":case"":t.u=1;break;case"":break;case"":case"":t.b=1;break;case"":break;case"":case"":t.i=1;break;case"":break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"
":break;case"":n=!1;break;default:if(47!==s[0].charCodeAt(1)&&!n)throw new Error("Unrecognized rich format "+s[0])}}return t}(s[1])),n}var a=/<(?:\w+:)?r>/g,n=/<\/(?:\w+:)?r>/;return function(e){return e.replace(a,"").split(n).map(r).filter(function(e){return e.v})}}(),Ls=function(){var e=/(\r\n|\n)/g;function t(t){var r=[[],t.v,[]];return t.v?(t.s&&function(e,t,r){var a=[];e.u&&a.push("text-decoration: underline;"),e.uval&&a.push("text-underline-style:"+e.uval+";"),e.sz&&a.push("font-size:"+e.sz+"pt;"),e.outline&&a.push("text-effect: outline;"),e.shadow&&a.push("text-shadow: auto;"),t.push(''),e.b&&(t.push(""),r.push("")),e.i&&(t.push(""),r.push("")),e.strike&&(t.push(""),r.push(""));var n=e.valign||"";"superscript"==n||"super"==n?n="sup":"subscript"==n&&(n="sub"),""!=n&&(t.push("<"+n+">"),r.push("")),r.push("")}(t.s,r[0],r[2]),r[0].join("")+r[1].replace(e,"
")+r[2].join("")):""}return function(e){return e.map(t).join("")}}(),Ms=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Us=/<(?:\w+:)?r>/,Bs=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Ws(e,t){var r=!t||t.cellHTML,a={};return e?(e.match(/^\s*<(?:\w+:)?t[^>]*>/)?(a.t=yt(Pt(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||"")),a.r=Pt(e),r&&(a.h=Ct(a.t))):e.match(Us)&&(a.r=Pt(e),a.t=yt(Pt((e.replace(Bs,"").match(Ms)||[]).join("").replace(mt,""))),r&&(a.h=Ls(Ps(a.r)))),a):{t:""}}var Hs=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/,zs=/<(?:\w+:)?(?:si|sstItem)>/g,Vs=/<\/(?:\w+:)?(?:si|sstItem)>/,Gs=/^\s|\s$|[\t\n\r]/;function js(e,t){if(!t.bookSST)return"";var r=[ut];r[r.length]=Xt("sst",null,{xmlns:tr[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a)if(null!=e[a]){var n=e[a],s="";n.r?s+=n.r:(s+=""),s+="",r[r.length]=s}return r.length>2&&(r[r.length]="",r[1]=r[1].replace("/>",">")),r.join("")}var Xs=function(e,t){var r=!1;return null==t&&(r=!0,t=Br(15+4*e.t.length)),t.write_shift(1,0),ca(e.t,t),r?t.slice(0,t.l):t};function $s(e){var t=Hr();zr(t,159,function(e,t){return t||(t=Br(8)),t.write_shift(4,e.Count),t.write_shift(4,e.Unique),t}(e));for(var r=0;r=4&&(e.l+=t-4),r}function Js(e){for(var t=e.read_shift(4),r=e.l+t-4,a={},n=e.read_shift(4),s=[];n-- >0;)s.push({t:e.read_shift(4),v:e.read_shift(0,"lpp4")});if(a.name=e.read_shift(0,"lpp4"),a.comps=s,e.l!=r)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+r);return a}function qs(e,t){var r=e.l+t,a={};a.Flags=63&e.read_shift(4),e.l+=4,a.AlgID=e.read_shift(4);var n=!1;switch(a.AlgID){case 26126:case 26127:case 26128:n=36==a.Flags;break;case 26625:n=4==a.Flags;break;case 0:n=16==a.Flags||4==a.Flags||36==a.Flags;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID}if(!n)throw new Error("Encryption Flags/AlgID mismatch");return a.AlgIDHash=e.read_shift(4),a.KeySize=e.read_shift(4),a.ProviderType=e.read_shift(4),e.l+=8,a.CSPName=e.read_shift(r-e.l>>1,"utf16le"),e.l=r,a}function Zs(e,t){var r={},a=e.l+t;return e.l+=4,r.Salt=e.slice(e.l,e.l+16),e.l+=16,r.Verifier=e.slice(e.l,e.l+16),e.l+=16,e.read_shift(4),r.VerifierHash=e.slice(e.l,a),e.l=a,r}function Qs(e){if(36!=(63&e.read_shift(4)))throw new Error("EncryptionInfo mismatch");var t=e.read_shift(4);return{t:"Std",h:qs(e,t),v:Zs(e,e.length-e.l)}}function ei(){throw new Error("File is password-protected: ECMA-376 Extensible")}function ti(e){var t=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var r=e.read_shift(e.length-e.l,"utf8"),a={};return r.replace(mt,function(e){var r=bt(e);switch(wt(r[0])){case"":case"":case"":break;case"":case"=0;--r)a=((16384&a?1:0)|a<<1&32767)^t[r];return 52811^a}var ai=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0],t=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163],r=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628],a=function(e,t){return 255&((r=e^t)/2|128*r);var r};return function(n){for(var s,i,o,c=Ys(n),l=function(e){for(var a=t[e.length-1],n=104,s=e.length-1;s>=0;--s)for(var i=e[s],o=0;7!=o;++o)64&i&&(a^=r[n]),i*=2,--n;return a}(c),f=c.length,h=S(16),u=0;16!=u;++u)h[u]=0;for(1&~f||(s=l>>8,h[f]=a(e[0],s),--f,s=255&l,i=c[c.length-1],h[f]=a(i,s));f>0;)s=l>>8,h[--f]=a(c[f],s),s=255&l,h[--f]=a(c[f],s);for(f=15,o=15-c.length;o>0;)s=l>>8,h[f]=a(e[o],s),--o,s=255&l,h[--f]=a(c[f],s),--f,--o;return h}}();var ni=function(){function e(e,r){switch(r.type){case"base64":return t(T(e),r);case"binary":return t(e,r);case"buffer":return t(E&&Buffer.isBuffer(e)?e.toString("binary"):x(e),r);case"array":return t($e(e),r)}throw new Error("Unrecognized type "+r.type)}function t(e,t){var r=(t||{}).dense?[]:{},a=e.match(/\\trowd.*?\\row\b/g);if(!a.length)throw new Error("RTF missing table");var n={s:{c:0,r:0},e:{c:0,r:a.length-1}};return a.forEach(function(e,t){Array.isArray(r)&&(r[t]=[]);for(var a,s=/\\\w+\b/g,i=0,o=-1;a=s.exec(e);){if("\\cell"===a[0]){var c=e.slice(i,s.lastIndex-a[0].length);if(" "==c[0]&&(c=c.slice(1)),++o,c.length){var l={v:c,t:"s"};Array.isArray(r)?r[t][o]=l:r[Zr({r:t,c:o})]=l}}i=s.lastIndex}o>n.e.c&&(n.e.c=o)}),r["!ref"]=ea(n),r}return{to_workbook:function(t,r){return aa(e(t,r),r)},to_sheet:e,from_sheet:function(e){for(var t,r=["{\\rtf1\\ansi"],a=ta(e["!ref"]),n=Array.isArray(e),s=a.s.r;s<=a.e.r;++s){r.push("\\trowd\\trautofit1");for(var i=a.s.c;i<=a.e.c;++i)r.push("\\cellx"+(i+1));for(r.push("\\pard\\intbl"),i=a.s.c;i<=a.e.c;++i){var o=Zr({r:s,c:i});(t=n?(e[s]||[])[i]:e[o])&&(null!=t.v||t.f&&!t.F)&&(r.push(" "+(t.w||(ra(t),t.w))),r.push("\\cell"))}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}}}();function si(e){for(var t=0,r=1;3!=t;++t)r=256*r+(e[t]>255?255:e[t]<0?0:e[t]);return r.toString(16).toUpperCase().slice(1)}function ii(e,t){if(0===t)return e;var r,a,n=function(e){var t=e[0]/255,r=e[1]/255,a=e[2]/255,n=Math.max(t,r,a),s=Math.min(t,r,a),i=n-s;if(0===i)return[0,0,t];var o,c=0,l=n+s;switch(o=i/(l>1?2-l:l),n){case t:c=((r-a)/i+6)%6;break;case r:c=(a-t)/i+2;break;case a:c=(t-r)/i+4}return[c/6,o,l/2]}((a=(r=e).slice("#"===r[0]?1:0).slice(0,6),[parseInt(a.slice(0,2),16),parseInt(a.slice(2,4),16),parseInt(a.slice(4,6),16)]));return n[2]=t<0?n[2]*(1+t):1-(1-n[2])*(1-t),si(function(e){var t,r=e[0],a=e[1],n=e[2],s=2*a*(n<.5?n:1-n),i=n-s/2,o=[i,i,i],c=6*r;if(0!==a)switch(0|c){case 0:case 6:t=s*c,o[0]+=s,o[1]+=t;break;case 1:t=s*(2-c),o[0]+=t,o[1]+=s;break;case 2:t=s*(c-2),o[1]+=s,o[2]+=t;break;case 3:t=s*(4-c),o[1]+=t,o[2]+=s;break;case 4:t=s*(c-4),o[2]+=s,o[0]+=t;break;case 5:t=s*(6-c),o[2]+=t,o[0]+=s}for(var l=0;3!=l;++l)o[l]=Math.round(255*o[l]);return o}(n))}var oi=6;function ci(e){return Math.floor((e+Math.round(128/oi)/256)*oi)}function li(e){return Math.floor((e-5)/oi*100+.5)/100}function fi(e){return Math.round((e*oi+5)/oi*256)/256}function hi(e){return fi(li(ci(e)))}function ui(e){var t=Math.abs(e-hi(e)),r=oi;if(t>.005)for(oi=1;oi<15;++oi)Math.abs(e-hi(e))<=t&&(t=Math.abs(e-hi(e)),r=oi);oi=r}function di(e){e.width?(e.wpx=ci(e.width),e.wch=li(e.wpx),e.MDW=oi):e.wpx?(e.wch=li(e.wpx),e.width=fi(e.wch),e.MDW=oi):"number"==typeof e.wch&&(e.width=fi(e.wch),e.wpx=ci(e.width),e.MDW=oi),e.customWidth&&delete e.customWidth}function pi(e){return 96*e/96}function mi(e){return 96*e/96}var gi={None:"none",Solid:"solid",Gray50:"mediumGray",Gray75:"darkGray",Gray25:"lightGray",HorzStripe:"darkHorizontal",VertStripe:"darkVertical",ReverseDiagStripe:"darkDown",DiagStripe:"darkUp",DiagCross:"darkGrid",ThickDiagCross:"darkTrellis",ThinHorzStripe:"lightHorizontal",ThinVertStripe:"lightVertical",ThinReverseDiagStripe:"lightDown",ThinHorzCross:"lightGrid"},vi=["numFmtId","fillId","fontId","borderId","xfId"],bi=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"],wi=function(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/,t=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/,r=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/,a=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/,n=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function(s,i,c){var l,f={};return s?((l=(s=s.replace(//gm,"").replace(//gm,"")).match(e))&&function(e,t,r){t.NumberFmt=[];for(var a=Ne(H),n=0;n":case"":case"":case"":break;case"0){if(c>392){for(c=392;c>60&&null!=t.NumberFmt[c];--c);t.NumberFmt[c]=o}Te(o,c)}break;default:if(r.WTF)throw new Error("unrecognized "+i[0]+" in numFmts")}}}(l,f,c),(l=s.match(a))&&function(e,t,r,a){t.Fonts=[];var n={},s=!1;(e[0].match(mt)||[]).forEach(function(e){var i=bt(e);switch(wt(i[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"
":case"":t.Fonts.push(n),n={};break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+i[0]+" in fonts")}})}(l,f,i,c),(l=s.match(r))&&function(e,t,r,a){t.Fills=[];var n={},s=!1;(e[0].match(mt)||[]).forEach(function(e){var r=bt(e);switch(wt(r[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":n={},t.Fills.push(n);break;case"":t.Fills.push(n),n={};break;case"":r.patternType&&(n.patternType=r.patternType);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+r[0]+" in fills")}})}(l,f,0,c),(l=s.match(n))&&function(e,t,r,a){t.Borders=[];var n={},s=!1;(e[0].match(mt)||[]).forEach(function(e){var r=bt(e);switch(wt(r[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":n={},r.diagonalUp&&(n.diagonalUp=Rt(r.diagonalUp)),r.diagonalDown&&(n.diagonalDown=Rt(r.diagonalDown)),t.Borders.push(n);break;case"":s=!1;break;default:if(a&&a.WTF&&!s)throw new Error("unrecognized "+r[0]+" in borders")}})}(l,f,0,c),(l=s.match(t))&&function(e,t,r){var a;t.CellXf=[];var n=!1;(e[0].match(mt)||[]).forEach(function(e){var s=bt(e),i=0;switch(wt(s[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":for(delete(a=s)[0],i=0;i392)for(i=392;i>60;--i)if(t.NumberFmt[a.numFmtId]==t.NumberFmt[i]){a.numFmtId=i;break}t.CellXf.push(a);break;case"":var o={};s.vertical&&(o.vertical=s.vertical),s.horizontal&&(o.horizontal=s.horizontal),null!=s.textRotation&&(o.textRotation=s.textRotation),s.indent&&(o.indent=s.indent),s.wrapText&&(o.wrapText=Rt(s.wrapText)),a.alignment=o;break;case"":case"":n=!1;break;default:if(r&&r.WTF&&!n)throw new Error("unrecognized "+s[0]+" in cellXfs")}})}(l,f,c),f):f}}();function Ti(e,t){var r,a=[ut,Xt("styleSheet",null,{xmlns:tr[0],"xmlns:vt":Qt})];return e.SSF&&null!=(r=function(e){var t=[""];return[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)null!=e[a]&&(t[t.length]=Xt("numFmt",null,{numFmtId:a,formatCode:_t(e[a])}))}),1===t.length?"":(t[t.length]="",t[0]=Xt("numFmts",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(e.SSF))&&(a[a.length]=r),a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',(r=function(e){var t=[];return t[t.length]=Xt("cellXfs",null),e.forEach(function(e){t[t.length]=Xt("xf",null,e)}),t[t.length]="",2===t.length?"":(t[0]=Xt("cellXfs",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(t.cellXfs))&&(a[a.length]=r),a[a.length]='',a[a.length]='',a[a.length]='',a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}function Ei(e,t,r){r||(r=Br(6+4*t.length)),r.write_shift(2,e),ca(t,r);var a=r.length>r.l?r.slice(0,r.l):r;return null==r.l&&(r.l=r.length),a}var yi,Si=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"],ki=Ur;function _i(e,t){t||(t=Br(84)),yi||(yi=De(Si));var r=yi[e.patternType];null==r&&(r=40),t.write_shift(4,r);var a=0;if(40!=r)for(Ra({auto:1},t),Ra({auto:1},t);a<12;++a)t.write_shift(4,0);else{for(;a<4;++a)t.write_shift(4,0);for(;a<12;++a)t.write_shift(4,0)}return t.length>t.l?t.slice(0,t.l):t}function Ai(e,t,r){return r||(r=Br(16)),r.write_shift(2,t||0),r.write_shift(2,e.numFmtId||0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r}function xi(e,t){return t||(t=Br(10)),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(4,0),t.write_shift(4,0),t}var Ci=Ur;function Oi(e,t){var r=Hr();return zr(r,278),function(e,t){if(t){var r=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)null!=t[a]&&++r}),0!=r&&(zr(e,615,ia(r)),[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)null!=t[a]&&zr(e,44,Ei(a,t[a]))}),zr(e,616))}}(r,e.SSF),function(e){zr(e,611,ia(1)),zr(e,43,function(e,t){t||(t=Br(153)),t.write_shift(2,20*e.sz),function(e,t){t||(t=Br(2));var r=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);t.write_shift(1,r),t.write_shift(1,0)}(e,t),t.write_shift(2,e.bold?700:400);var r=0;"superscript"==e.vertAlign?r=1:"subscript"==e.vertAlign&&(r=2),t.write_shift(2,r),t.write_shift(1,e.underline||0),t.write_shift(1,e.family||0),t.write_shift(1,e.charset||0),t.write_shift(1,0),Ra(e.color,t);var a=0;return"major"==e.scheme&&(a=1),"minor"==e.scheme&&(a=2),t.write_shift(1,a),ca(e.name,t),t.length>t.l?t.slice(0,t.l):t}({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"})),zr(e,612)}(r),function(e){zr(e,603,ia(2)),zr(e,45,_i({patternType:"none"})),zr(e,45,_i({patternType:"gray125"})),zr(e,604)}(r),function(e){var t;zr(e,613,ia(1)),zr(e,46,(t||(t=Br(51)),t.write_shift(1,0),xi(0,t),xi(0,t),xi(0,t),xi(0,t),xi(0,t),t.length>t.l?t.slice(0,t.l):t)),zr(e,614)}(r),function(e){zr(e,626,ia(1)),zr(e,47,Ai({numFmtId:0,fontId:0,fillId:0,borderId:0},65535)),zr(e,627)}(r),function(e,t){zr(e,617,ia(t.length)),t.forEach(function(t){zr(e,47,Ai(t,0))}),zr(e,618)}(r,t.cellXfs),function(e){var t,r;zr(e,619,ia(1)),zr(e,48,(t={xfId:0,builtinId:0,name:"Normal"},r||(r=Br(52)),r.write_shift(4,t.xfId),r.write_shift(2,1),r.write_shift(1,+t.builtinId),r.write_shift(1,0),wa(t.name||"",r),r.length>r.l?r.slice(0,r.l):r)),zr(e,620)}(r),function(e){zr(e,505,ia(0)),zr(e,506)}(r),function(e){var t;zr(e,508,((t=Br(2052)).write_shift(4,0),wa("TableStyleMedium9",t),wa("PivotStyleMedium4",t),t.length>t.l?t.slice(0,t.l):t)),zr(e,509)}(r),zr(r,279),r.end()}var Ri=["","","","","","","","","","","",""];function Ii(e,t,r){t.themeElements.clrScheme=[];var a={};(e[0].match(mt)||[]).forEach(function(e){var n=bt(e);switch(n[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":"/"===n[0].charAt(1)?(t.themeElements.clrScheme[Ri.indexOf(n[0])]=a,a={}):a.name=n[0].slice(3,n[0].length-1);break;default:if(r&&r.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme")}})}function Ni(){}function Fi(){}var Di=/]*)>[\s\S]*<\/a:clrScheme>/,Pi=/]*)>[\s\S]*<\/a:fontScheme>/,Li=/]*)>[\s\S]*<\/a:fmtScheme>/,Mi=/]*)>[\s\S]*<\/a:themeElements>/;function Ui(e,t){var r;e&&0!==e.length||(e=Bi());var a={};if(!(r=e.match(Mi)))throw new Error("themeElements not found in theme");return function(e,t,r){var a;t.themeElements={},[["clrScheme",Di,Ii],["fontScheme",Pi,Ni],["fmtScheme",Li,Fi]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,t,r)})}(r[0],a,t),a.raw=e,a}function Bi(e,t){if(t&&t.themeXLSX)return t.themeXLSX;if(e&&"string"==typeof e.raw)return e.raw;var r=[ut];return r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]='',r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]='',r[r.length]="",r[r.length]="",r[r.length]="",r[r.length]="",r.join("")}function Wi(e){var t=e.read_shift(2),r=e.read_shift(2)-4,a=[t];switch(t){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:a[1]=function(e){var t={};switch(t.xclrType=e.read_shift(2),t.nTintShade=e.read_shift(2),t.xclrType){case 0:case 4:e.l+=4;break;case 1:t.xclrValue=function(e){return Ur(e,4)}(e);break;case 2:t.xclrValue=$n(e);break;case 3:t.xclrValue=function(e){return e.read_shift(4)}(e)}return e.l+=8,t}(e);break;case 6:a[1]=function(e,t){return Ur(e,t)}(e,r);break;case 14:case 15:a[1]=e.read_shift(1===r?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+t+" "+r)}return a}function Hi(e,t){t.forEach(function(e){e[0]})}function zi(){var e,t,r=Hr();return zr(r,332),zr(r,334,ia(1)),zr(r,335,((t=Br(12+2*(e={name:"XLDAPR",version:12e4,flags:3496657072}).name.length)).write_shift(4,e.flags),t.write_shift(4,e.version),ca(e.name,t),t.slice(0,t.l))),zr(r,336),zr(r,339,function(e,t){var r=Br(20);return r.write_shift(4,1),ca(t,r),r.slice(0,r.l)}(0,"XLDAPR")),zr(r,52),zr(r,35,ia(514)),zr(r,4096,ia(0)),zr(r,4097,Dn(1)),zr(r,36),zr(r,53),zr(r,340),zr(r,337,function(){var e=Br(8);return e.write_shift(4,1),e.write_shift(4,1),e}()),zr(r,51,function(e){var t=Br(4+8*e.length);t.write_shift(4,e.length);for(var r=0;r\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'),e.join("")}var Gi=1024;function ji(e,t){for(var r=[21600,21600],a=["m0,0l0",r[1],r[0],r[1],r[0],"0xe"].join(","),n=[Xt("xml",null,{"xmlns:v":"urn:schemas-microsoft-com:vml","xmlns:o":rr,"xmlns:x":ar,"xmlns:mv":"http://macVmlSchemaUri"}).replace(/\/>/,">"),Xt("o:shapelayout",Xt("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),Xt("v:shapetype",[Xt("v:stroke",null,{joinstyle:"miter"}),Xt("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:r.join(","),path:a})];Gi<1e3*e;)Gi+=1e3;return t.forEach(function(e){var t=qr(e[0]),r={color2:"#BEFF82",type:"gradient"};"gradient"==r.type&&(r.angle="-180");var a="gradient"==r.type?Xt("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null,s=Xt("v:fill",a,r);++Gi,n=n.concat(["",s,Xt("v:shadow",null,{on:"t",obscured:"t"}),Xt("v:path",null,{"o:connecttype":"none"}),'
','',"","",Gt("x:Anchor",[t.c+1,0,t.r+1,0,t.c+3,20,t.r+5,20].join(",")),Gt("x:AutoFill","False"),Gt("x:Row",String(t.r)),Gt("x:Column",String(t.c)),e[1].hidden?"":"","",""])}),n.push(""),n.join("")}function Xi(e,t,r,a){var n,s=Array.isArray(e);t.forEach(function(t){var i=qr(t.ref);if(s?(e[i.r]||(e[i.r]=[]),n=e[i.r][i.c]):n=e[t.ref],!n){n={t:"z"},s?e[i.r][i.c]=n:e[t.ref]=n;var o=ta(e["!ref"]||"BDWGO1000001:A1");o.s.r>i.r&&(o.s.r=i.r),o.e.ri.c&&(o.s.c=i.c),o.e.c=0;--f){if(!r&&n.c[f].T)return;r&&!n.c[f].T&&n.c.splice(f,1)}if(r&&a)for(f=0;f"),e.forEach(function(e){e[1].forEach(function(e){var a=_t(e.a);-1==r.indexOf(a)&&(r.push(a),t.push(""+a+"")),e.T&&e.ID&&-1==r.indexOf("tc="+e.ID)&&(r.push("tc="+e.ID),t.push("tc="+e.ID+""))})}),0==r.length&&(r.push("SheetJ5"),t.push("SheetJ5")),t.push(""),t.push(""),e.forEach(function(e){var a=0,n=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID?a=r.indexOf("tc="+e[1][0].ID):e[1].forEach(function(e){e.a&&(a=r.indexOf(_t(e.a))),n.push(e.t||"")}),t.push(''),n.length<=1)t.push(Gt("t",_t(n[0]||"")));else{for(var s="Comment:\n "+n[0]+"\n",i=1;i")}),t.push(""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Yi(e,t,r){var a=[ut,Xt("ThreadedComments",null,{xmlns:qt}).replace(/[\/]>/,">")];return e.forEach(function(e){var n="";(e[1]||[]).forEach(function(s,i){if(s.T){s.a&&-1==t.indexOf(s.a)&&t.push(s.a);var o={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+r.tcid++).slice(-12)+"}"};0==i?n=o.id:o.parentId=n,s.ID=o.id,s.a&&(o.personId="{54EE7950-7262-4200-6969-"+("000000000000"+t.indexOf(s.a)).slice(-12)+"}"),a.push(Xt("threadedComment",Gt("text",s.t||""),o))}else delete s.ID})}),a.push(""),a.join("")}var Ki=oa;function Ji(e){var t=Hr(),r=[];return zr(t,628),zr(t,630),e.forEach(function(e){e[1].forEach(function(e){r.indexOf(e.a)>-1||(r.push(e.a.slice(0,54)),zr(t,632,function(e){return ca(e.slice(0,54))}(e.a)))})}),zr(t,631),zr(t,633),e.forEach(function(e){e[1].forEach(function(a){a.iauthor=r.indexOf(a.a);var n,s,i,o={s:qr(e[0]),e:qr(e[0])};zr(t,635,function(e,t){return null==t&&(t=Br(36)),t.write_shift(4,e[1].iauthor),xa(e[0],t),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t}([o,a])),a.t&&a.t.length>0&&zr(t,637,(n=a,i=!1,null==s&&(i=!0,s=Br(23+4*n.t.length)),s.write_shift(1,1),ca(n.t,s),s.write_shift(4,1),function(e,t){t||(t=Br(4)),t.write_shift(2,e.ich||0),t.write_shift(2,e.ifnt||0)}({ich:0,ifnt:0},s),i?s.slice(0,s.l):s)),zr(t,636),delete a.iauthor})}),zr(t,634),zr(t,629),t.end()}var qi=["xlsb","xlsm","xlam","biff8","xla"],Zi=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g,t={r:0,c:0};function r(e,r,a,n){var s=!1,i=!1;0==a.length?i=!0:"["==a.charAt(0)&&(i=!0,a=a.slice(1,-1)),0==n.length?s=!0:"["==n.charAt(0)&&(s=!0,n=n.slice(1,-1));var o=a.length>0?0|parseInt(a,10):0,c=n.length>0?0|parseInt(n,10):0;return s?c+=t.c:--c,i?o+=t.r:--o,r+(s?"":"$")+Jr(c)+(i?"":"$")+Yr(o)}return function(a,n){return t=n,a.replace(e,r)}}(),Qi=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g,eo=function(){return function(e,t){return e.replace(Qi,function(e,r,a,n,s,i){var o=Kr(n)-(a?0:t.c),c=$r(i)-(s?0:t.r);return r+"R"+(0==c?"":s?c+1:"["+c+"]")+"C"+(0==o?"":a?o+1:"["+o+"]")})}}();function to(e,t){return e.replace(Qi,function(e,r,a,n,s,i){return r+("$"==a?a+n:Jr(Kr(n)+t.c))+("$"==s?s+i:Yr($r(i)+t.r))})}function ro(e,t,r){var a=Qr(t).s,n=qr(r);return to(e,{r:n.r-a.r,c:n.c-a.c})}function ao(e){return e.replace(/_xlfn\./g,"")}function no(e){e.l+=1}function so(e,t){var r=e.read_shift(1==t?1:2);return[16383&r,r>>14&1,r>>15&1]}function io(e,t,r){var a=2;if(r){if(r.biff>=2&&r.biff<=5)return oo(e);12==r.biff&&(a=4)}var n=e.read_shift(a),s=e.read_shift(a),i=so(e,2),o=so(e,2);return{s:{r:n,c:i[0],cRel:i[1],rRel:i[2]},e:{r:s,c:o[0],cRel:o[1],rRel:o[2]}}}function oo(e){var t=so(e,2),r=so(e,2),a=e.read_shift(1),n=e.read_shift(1);return{s:{r:t[0],c:a,cRel:t[1],rRel:t[2]},e:{r:r[0],c:n,cRel:r[1],rRel:r[2]}}}function co(e,t,r){if(r&&r.biff>=2&&r.biff<=5)return function(e){var t=so(e,2),r=e.read_shift(1);return{r:t[0],c:r,cRel:t[1],rRel:t[2]}}(e);var a=e.read_shift(r&&12==r.biff?4:2),n=so(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function lo(e){var t=e.read_shift(2),r=e.read_shift(2);return{r:t,c:255&r,fQuoted:!!(16384&r),cRel:r>>15,rRel:r>>15}}function fo(e){var t=1&e[e.l+1];return e.l+=4,[t,1]}function ho(e){return[e.read_shift(1),e.read_shift(1)]}function uo(e,t){var r=[e.read_shift(1)];if(12==t)switch(r[0]){case 2:r[0]=4;break;case 4:r[0]=16;break;case 0:r[0]=1;break;case 1:r[0]=2}switch(r[0]){case 4:r[1]=In(e,1)?"TRUE":"FALSE",12!=t&&(e.l+=7);break;case 37:case 16:r[1]=Wa[e[e.l]],e.l+=12==t?4:8;break;case 0:e.l+=8;break;case 1:r[1]=Ca(e);break;case 2:r[1]=zn(e,0,{biff:t>0&&t<8?2:t});break;default:throw new Error("Bad SerAr: "+r[0])}return r}function po(e,t,r){for(var a=e.read_shift(12==r.biff?4:2),n=[],s=0;s!=a;++s)n.push((12==r.biff?Aa:Qn)(e,8));return n}function mo(e,t,r){var a=0,n=0;12==r.biff?(a=e.read_shift(4),n=e.read_shift(4)):(n=1+e.read_shift(1),a=1+e.read_shift(2)),r.biff>=2&&r.biff<8&&(--a,0==--n&&(n=256));for(var s=0,i=[];s!=a&&(i[s]=[]);++s)for(var o=0;o!=n;++o)i[s][o]=uo(e,r.biff);return i}function go(e,t,r){return e.l+=2,[lo(e)]}function vo(e){return e.l+=6,[]}function bo(e){return e.l+=2,[Fn(e),1&e.read_shift(2)]}var wo=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"],To={1:{n:"PtgExp",f:function(e,t,r){return e.l++,r&&12==r.biff?[e.read_shift(4,"i"),0]:[e.read_shift(2),e.read_shift(r&&2==r.biff?1:2)]}},2:{n:"PtgTbl",f:Ur},3:{n:"PtgAdd",f:no},4:{n:"PtgSub",f:no},5:{n:"PtgMul",f:no},6:{n:"PtgDiv",f:no},7:{n:"PtgPower",f:no},8:{n:"PtgConcat",f:no},9:{n:"PtgLt",f:no},10:{n:"PtgLe",f:no},11:{n:"PtgEq",f:no},12:{n:"PtgGe",f:no},13:{n:"PtgGt",f:no},14:{n:"PtgNe",f:no},15:{n:"PtgIsect",f:no},16:{n:"PtgUnion",f:no},17:{n:"PtgRange",f:no},18:{n:"PtgUplus",f:no},19:{n:"PtgUminus",f:no},20:{n:"PtgPercent",f:no},21:{n:"PtgParen",f:no},22:{n:"PtgMissArg",f:no},23:{n:"PtgStr",f:function(e,t,r){return e.l++,Mn(e,0,r)}},26:{n:"PtgSheet",f:function(e,t,r){return e.l+=5,e.l+=2,e.l+=2==r.biff?1:4,["PTGSHEET"]}},27:{n:"PtgEndSheet",f:function(e,t,r){return e.l+=2==r.biff?4:5,["PTGENDSHEET"]}},28:{n:"PtgErr",f:function(e){return e.l++,Wa[e.read_shift(1)]}},29:{n:"PtgBool",f:function(e){return e.l++,0!==e.read_shift(1)}},30:{n:"PtgInt",f:function(e){return e.l++,e.read_shift(2)}},31:{n:"PtgNum",f:function(e){return e.l++,Ca(e)}},32:{n:"PtgArray",f:function(e,t,r){var a=(96&e[e.l++])>>5;return e.l+=2==r.biff?6:12==r.biff?14:7,[a]}},33:{n:"PtgFunc",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(r&&r.biff<=3?1:2);return[Ho[n],Wo[n],a]}},34:{n:"PtgFuncVar",f:function(e,t,r){var a=e[e.l++],n=e.read_shift(1),s=r&&r.biff<=3?[88==a?-1:0,e.read_shift(1)]:function(e){return[e[e.l+1]>>7,32767&e.read_shift(2)]}(e);return[n,(0===s[0]?Wo:Bo)[s[1]]]}},35:{n:"PtgName",f:function(e,t,r){var a=e.read_shift(1)>>>5&3,n=!r||r.biff>=8?4:2,s=e.read_shift(n);switch(r.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12}return[a,0,s]}},36:{n:"PtgRef",f:function(e,t,r){var a=(96&e[e.l])>>5;return e.l+=1,[a,co(e,0,r)]}},37:{n:"PtgArea",f:function(e,t,r){return[(96&e[e.l++])>>5,io(e,r.biff>=2&&r.biff,r)]}},38:{n:"PtgMemArea",f:function(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=r&&2==r.biff?3:4,[a,e.read_shift(r&&2==r.biff?1:2)]}},39:{n:"PtgMemErr",f:Ur},40:{n:"PtgMemNoMem",f:Ur},41:{n:"PtgMemFunc",f:function(e,t,r){return[e.read_shift(1)>>>5&3,e.read_shift(r&&2==r.biff?1:2)]}},42:{n:"PtgRefErr",f:function(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=4,r.biff<8&&e.l--,12==r.biff&&(e.l+=2),[a]}},43:{n:"PtgAreaErr",f:function(e,t,r){var a=(96&e[e.l++])>>5;return e.l+=r&&r.biff>8?12:r.biff<8?6:8,[a]}},44:{n:"PtgRefN",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=function(e,t,r){var a=r&&r.biff?r.biff:8;if(a>=2&&a<=5)return function(e){var t=e.read_shift(2),r=e.read_shift(1),a=(32768&t)>>15,n=(16384&t)>>14;return t&=16383,1==a&&t>=8192&&(t-=16384),1==n&&r>=128&&(r-=256),{r:t,c:r,cRel:n,rRel:a}}(e);var n=e.read_shift(a>=12?4:2),s=e.read_shift(2),i=(16384&s)>>14,o=(32768&s)>>15;if(s&=16383,1==o)for(;n>524287;)n-=1048576;if(1==i)for(;s>8191;)s-=16384;return{r:n,c:s,cRel:i,rRel:o}}(e,0,r);return[a,n]}},45:{n:"PtgAreaN",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=function(e,t,r){if(r.biff<8)return oo(e);var a=e.read_shift(12==r.biff?4:2),n=e.read_shift(12==r.biff?4:2),s=so(e,2),i=so(e,2);return{s:{r:a,c:s[0],cRel:s[1],rRel:s[2]},e:{r:n,c:i[0],cRel:i[1],rRel:i[2]}}}(e,0,r);return[a,n]}},46:{n:"PtgMemAreaN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},47:{n:"PtgMemNoMemN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},57:{n:"PtgNameX",f:function(e,t,r){return 5==r.biff?function(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2,"i");e.l+=8;var a=e.read_shift(2);return e.l+=12,[t,r,a]}(e):[e.read_shift(1)>>>5&3,e.read_shift(2),e.read_shift(4)]}},58:{n:"PtgRef3d",f:function(e,t,r){var a=(96&e[e.l])>>5;e.l+=1;var n=e.read_shift(2);return r&&5==r.biff&&(e.l+=12),[a,n,co(e,0,r)]}},59:{n:"PtgArea3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2,"i");if(r&&5===r.biff)e.l+=12;return[a,n,io(e,0,r)]}},60:{n:"PtgRefErr3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=4;if(r)switch(r.biff){case 5:s=15;break;case 12:s=6}return e.l+=s,[a,n]}},61:{n:"PtgAreaErr3d",f:function(e,t,r){var a=(96&e[e.l++])>>5,n=e.read_shift(2),s=8;if(r)switch(r.biff){case 5:e.l+=12,s=6;break;case 12:s=12}return e.l+=s,[a,n]}},255:{}},Eo={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},yo={1:{n:"PtgElfLel",f:bo},2:{n:"PtgElfRw",f:go},3:{n:"PtgElfCol",f:go},6:{n:"PtgElfRwV",f:go},7:{n:"PtgElfColV",f:go},10:{n:"PtgElfRadical",f:go},11:{n:"PtgElfRadicalS",f:vo},13:{n:"PtgElfColS",f:vo},15:{n:"PtgElfColSV",f:vo},16:{n:"PtgElfRadicalLel",f:bo},25:{n:"PtgList",f:function(e){e.l+=2;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n=e.read_shift(2),s=e.read_shift(2);return{ixti:t,coltype:3&r,rt:wo[r>>2&31],idx:a,c:n,C:s}}},29:{n:"PtgSxName",f:function(e){return e.l+=2,[e.read_shift(4)]}},255:{}},So={0:{n:"PtgAttrNoop",f:function(e){return e.l+=4,[0,0]}},1:{n:"PtgAttrSemi",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=r&&2==r.biff?3:4,[a]}},2:{n:"PtgAttrIf",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(r&&2==r.biff?1:2)]}},4:{n:"PtgAttrChoose",f:function(e,t,r){e.l+=2;for(var a=e.read_shift(r&&2==r.biff?1:2),n=[],s=0;s<=a;++s)n.push(e.read_shift(r&&2==r.biff?1:2));return n}},8:{n:"PtgAttrGoto",f:function(e,t,r){var a=255&e[e.l+1]?1:0;return e.l+=2,[a,e.read_shift(r&&2==r.biff?1:2)]}},16:{n:"PtgAttrSum",f:function(e,t,r){e.l+=r&&2==r.biff?3:4}},32:{n:"PtgAttrBaxcel",f:fo},33:{n:"PtgAttrBaxcel",f:fo},64:{n:"PtgAttrSpace",f:function(e){return e.read_shift(2),ho(e)}},65:{n:"PtgAttrSpaceSemi",f:function(e){return e.read_shift(2),ho(e)}},128:{n:"PtgAttrIfError",f:function(e){var t=255&e[e.l+1]?1:0;return e.l+=2,[t,e.read_shift(2)]}},255:{}};function ko(e,t,r,a){if(a.biff<8)return Ur(e,t);for(var n=e.l+t,s=[],i=0;i!==r.length;++i)switch(r[i][0]){case"PtgArray":r[i][1]=mo(e,0,a),s.push(r[i][1]);break;case"PtgMemArea":r[i][2]=po(e,r[i][1],a),s.push(r[i][2]);break;case"PtgExp":a&&12==a.biff&&(r[i][1][1]=e.read_shift(4),s.push(r[i][1]));break;case"PtgList":case"PtgElfRadicalS":case"PtgElfColS":case"PtgElfColSV":throw"Unsupported "+r[i][0]}return 0!==(t=n-e.l)&&s.push(Ur(e,t)),s}function _o(e,t,r){for(var a,n,s=e.l+t,i=[];s!=e.l;)t=s-e.l,n=e[e.l],a=To[n]||To[Eo[n]],24!==n&&25!==n||(a=(24===n?yo:So)[e[e.l+1]]),a&&a.f?i.push([a.n,a.f(e,t,r)]):Ur(e,t);return i}function Ao(e){for(var t=[],r=0;r=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function Co(e,t,r){if(!e)return"SH33TJSERR0";if(r.biff>8&&(!e.XTI||!e.XTI[t]))return e.SheetNames[t];if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[t];if(r.biff<8)return t>1e4&&(t-=65536),t<0&&(t=-t),0==t?"":e.XTI[t-1];if(!a)return"SH33TJSERR1";var n="";if(r.biff>8)switch(e[a[0]][0]){case 357:return n=-1==a[1]?"#REF":e.SheetNames[a[1]],a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:return null!=r.SID?e.SheetNames[r.SID]:"SH33TJSSAME"+e[a[0]][0];default:return"SH33TJSSRC"+e[a[0]][0]}switch(e[a[0]][0][0]){case 1025:return n=-1==a[1]?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3",a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(";;");default:return e[a[0]][0][3]?(n=-1==a[1]?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4",a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]]):"SH33TJSERR2"}}function Oo(e,t,r){var a=Co(e,t,r);return"#REF"==a?a:function(e,t){if(!(e||t&&t.biff<=5&&t.biff>=2))throw new Error("empty sheet name");return/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e)?"'"+e+"'":e}(a,r)}function Ro(e,t,r,a,n){var s,i,o,c,l=n&&n.biff||8,f={s:{c:0,r:0},e:{c:0,r:0}},h=[],u=0,d=0,p="";if(!e[0]||!e[0][0])return"";for(var m=-1,g="",v=0,b=e[0].length;v=0){switch(e[0][m][1][0]){case 0:g=Ke(" ",e[0][m][1][1]);break;case 1:g=Ke("\r",e[0][m][1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}i+=g,m=-1}h.push(i+xo[w[0]]+s);break;case"PtgIsect":s=h.pop(),i=h.pop(),h.push(i+" "+s);break;case"PtgUnion":s=h.pop(),i=h.pop(),h.push(i+","+s);break;case"PtgRange":s=h.pop(),i=h.pop(),h.push(i+":"+s);break;case"PtgAttrChoose":case"PtgAttrGoto":case"PtgAttrIf":case"PtgAttrIfError":case"PtgAttrBaxcel":case"PtgAttrSemi":case"PtgMemArea":case"PtgTbl":case"PtgMemErr":case"PtgMemAreaN":case"PtgMemNoMemN":case"PtgAttrNoop":case"PtgSheet":case"PtgEndSheet":case"PtgMemFunc":case"PtgMemNoMem":break;case"PtgRef":o=Vr(w[1][1],f,n),h.push(jr(o,l));break;case"PtgRefN":o=r?Vr(w[1][1],r,n):w[1][1],h.push(jr(o,l));break;case"PtgRef3d":u=w[1][1],o=Vr(w[1][2],f,n),p=Oo(a,u,n),h.push(p+"!"+jr(o,l));break;case"PtgFunc":case"PtgFuncVar":var T=w[1][0],E=w[1][1];T||(T=0);var y=0==(T&=127)?[]:h.slice(-T);h.length-=T,"User"===E&&(E=y.shift()),h.push(E+"("+y.join(",")+")");break;case"PtgBool":h.push(w[1]?"TRUE":"FALSE");break;case"PtgInt":case"PtgErr":h.push(w[1]);break;case"PtgNum":h.push(String(w[1]));break;case"PtgStr":h.push('"'+w[1].replace(/"/g,'""')+'"');break;case"PtgAreaN":c=Gr(w[1][1],r?{s:r}:f,n),h.push(Xr(c,n));break;case"PtgArea":c=Gr(w[1][1],f,n),h.push(Xr(c,n));break;case"PtgArea3d":u=w[1][1],c=w[1][2],p=Oo(a,u,n),h.push(p+"!"+Xr(c,n));break;case"PtgAttrSum":h.push("SUM("+h.pop()+")");break;case"PtgName":d=w[1][2];var S=(a.names||[])[d-1]||(a[0]||[])[d],k=S?S.Name:"SH33TJSNAME"+String(d);k&&"_xlfn."==k.slice(0,6)&&!n.xlfn&&(k=k.slice(6)),h.push(k);break;case"PtgNameX":var _,A=w[1][1];if(d=w[1][2],!(n.biff<=5)){var x="";if(14849==((a[A]||[])[0]||[])[0]||(1025==((a[A]||[])[0]||[])[0]?a[A][d]&&a[A][d].itab>0&&(x=a.SheetNames[a[A][d].itab-1]+"!"):x=a.SheetNames[d-1]+"!"),a[A]&&a[A][d])x+=a[A][d].Name;else if(a[0]&&a[0][d])x+=a[0][d].Name;else{var C=(Co(a,A,n)||"").split(";;");C[d-1]?x=C[d-1]:x+="SH33TJSERRX"}h.push(x);break}A<0&&(A=-A),a[A]&&(_=a[A][d]),_||(_={Name:"SH33TJSERRY"}),h.push(_.Name);break;case"PtgParen":var O="(",R=")";if(m>=0){switch(g="",e[0][m][1][0]){case 2:O=Ke(" ",e[0][m][1][1])+O;break;case 3:O=Ke("\r",e[0][m][1][1])+O;break;case 4:R=Ke(" ",e[0][m][1][1])+R;break;case 5:R=Ke("\r",e[0][m][1][1])+R;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}m=-1}h.push(O+h.pop()+R);break;case"PtgRefErr":case"PtgRefErr3d":case"PtgAreaErr":case"PtgAreaErr3d":h.push("#REF!");break;case"PtgExp":o={c:w[1][1],r:w[1][0]};var I={c:r.c,r:r.r};if(a.sharedf[Zr(o)]){var N=a.sharedf[Zr(o)];h.push(Ro(N,0,I,a,n))}else{var F=!1;for(s=0;s!=a.arrayf.length;++s)if(i=a.arrayf[s],!(o.ci[0].e.c||o.ri[0].e.r)){h.push(Ro(i[1],0,I,a,n)),F=!0;break}F||h.push(w[1])}break;case"PtgArray":h.push("{"+Ao(w[1])+"}");break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":m=v;break;case"PtgMissArg":h.push("");break;case"PtgList":h.push("Table"+w[1].idx+"[#"+w[1].rt+"]");break;case"PtgElfCol":case"PtgElfColS":case"PtgElfColSV":case"PtgElfColV":case"PtgElfLel":case"PtgElfRadical":case"PtgElfRadicalLel":case"PtgElfRadicalS":case"PtgElfRw":case"PtgElfRwV":throw new Error("Unsupported ELFs");default:throw new Error("Unrecognized Formula Token: "+String(w))}if(3!=n.biff&&m>=0&&-1==["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"].indexOf(e[0][v][0])){var D=!0;switch((w=e[0][m])[1][0]){case 4:D=!1;case 0:g=Ke(" ",w[1][1]);break;case 5:D=!1;case 1:g=Ke("\r",w[1][1]);break;default:if(g="",n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+w[1][0])}h.push((D?g:"")+h.pop()+(D?"":g)),m=-1}}if(h.length>1&&n.WTF)throw new Error("bad formula stack");return h[0]}function Io(e,t,r){var a,n=e.l+t,s=2==r.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Ur(e,t-2)];var o=_o(e,i,r);return t!==i+s&&(a=ko(e,t-i-s,o,r)),e.l=n,[o,a]}function No(e,t,r){var a,n=e.l+t,s=e.read_shift(2),i=_o(e,s,r);return 65535==s?[[],Ur(e,t-2)]:(t!==s+2&&(a=ko(e,n-s-2,i,r)),[i,a])}function Fo(e,t,r){var a=e.l+t,n=Kn(e);2==r.biff&&++e.l;var s=function(e){var t;if(65535!==Cr(e,e.l+6))return[Ca(e),"n"];switch(e[e.l]){case 0:return e.l+=8,["String","s"];case 1:return t=1===e[e.l+2],e.l+=8,[t,"b"];case 2:return t=e[e.l+2],e.l+=8,[t,"e"];case 3:return e.l+=8,["","s"]}return[]}(e),i=e.read_shift(1);2!=r.biff&&(e.read_shift(1),r.biff>=5&&e.read_shift(4));var o=function(e,t,r){var a,n=e.l+t,s=2==r.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Ur(e,t-2)];var o=_o(e,i,r);return t!==i+s&&(a=ko(e,t-i-s,o,r)),e.l=n,[o,a]}(e,a-e.l,r);return{cell:n,val:s[0],formula:o,shared:i>>3&1,tt:s[1]}}function Do(e,t,r){var a=e.read_shift(4),n=_o(e,a,r),s=e.read_shift(4);return[n,s>0?ko(e,s,n,r):null]}var Po=Do,Lo=Do,Mo=Do,Uo=Do,Bo={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"},Wo={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"},Ho={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function zo(e){return"of:"==e.slice(0,3)&&(e=e.slice(3)),61==e.charCodeAt(0)&&61==(e=e.slice(1)).charCodeAt(0)&&(e=e.slice(1)),(e=(e=(e=e.replace(/COM\.MICROSOFT\./g,"")).replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,t){return t.replace(/\./g,"")})).replace(/\[.(#[A-Z]*[?!])\]/g,"$1")).replace(/[;~]/g,",").replace(/\|/g,";")}function Vo(e){return("of:="+e.replace(Qi,"$1[.$2$3$4$5]").replace(/\]:\[/g,":")).replace(/;/g,"|").replace(/,/g,";")}function Go(e){var t=e.split(":");return[t[0].split(".")[0],t[0].split(".")[1]+(t.length>1?":"+(t[1].split(".")[1]||t[1].split(".")[0]):"")]}function jo(e){return e.replace(/\./,"!")}var Xo={},$o={},Yo="undefined"!=typeof Map;function Ko(e,t,r){var a=0,n=e.length;if(r){if(Yo?r.has(t):Object.prototype.hasOwnProperty.call(r,t))for(var s=Yo?r.get(t):r[t];a-1?(r.width=fi(a),r.customWidth=1):null!=t.width&&(r.width=t.width),t.hidden&&(r.hidden=!0),null!=t.level&&(r.outlineLevel=r.level=t.level),r}function qo(e,t){if(e){var r=[.7,.7,.75,.75,.3,.3];"xlml"==t&&(r=[1,1,1,1,.5,.5]),null==e.left&&(e.left=r[0]),null==e.right&&(e.right=r[1]),null==e.top&&(e.top=r[2]),null==e.bottom&&(e.bottom=r[3]),null==e.header&&(e.header=r[4]),null==e.footer&&(e.footer=r[5])}}function Zo(e,t,r){var a=r.revssf[null!=t.z?t.z:"General"],n=60,s=e.length;if(null==a&&r.ssf)for(;n<392;++n)if(null==r.ssf[n]){Te(t.z,n),r.ssf[n]=t.z,r.revssf[t.z]=a=n;break}for(n=0;n!=s;++n)if(e[n].numFmtId===a)return n;return e[s]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1},s}function Qo(e,t,r,a,n,s){try{a.cellNF&&(e.z=H[t])}catch(e){if(a.WTF)throw e}if("z"!==e.t||a.cellStyles){if("d"===e.t&&"string"==typeof e.v&&(e.v=Xe(e.v)),(!a||!1!==a.cellText)&&"z"!==e.t)try{if(null==H[t]&&Te(ke[t]||"General",t),"e"===e.t)e.w=e.w||Wa[e.v];else if(0===t)if("n"===e.t)(0|e.v)===e.v?e.w=e.v.toString(10):e.w=Z(e.v);else if("d"===e.t){var i=Me(e.v);e.w=(0|i)===i?i.toString(10):Z(i)}else{if(void 0===e.v)return"";e.w=Q(e.v,$o)}else"d"===e.t?e.w=we(t,Me(e.v),$o):e.w=we(t,e.v,$o)}catch(e){if(a.WTF)throw e}if(a.cellStyles&&null!=r)try{e.s=s.Fills[r],e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb&&(e.s.fgColor.rgb=ii(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0),a.WTF&&(e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb)),e.s.bgColor&&e.s.bgColor.theme&&(e.s.bgColor.rgb=ii(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0),a.WTF&&(e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb))}catch(e){if(a.WTF&&s.Fills)throw e}}}function ec(e,t,r){if(e&&e["!ref"]){var a=ta(e["!ref"]);if(a.e.c/g,rc=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/,ac=/<(?:\w:)?hyperlink [^>]*>/gm,nc=/"(\w*:\w*)"/,sc=/<(?:\w:)?col\b[^>]*[\/]?>/g,ic=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g,oc=/<(?:\w:)?pageMargins[^>]*\/>/g,cc=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/,lc=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/,fc=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function hc(e,t,r,a){var n=bt(e);r.Sheets[a]||(r.Sheets[a]={}),n.codeName&&(r.Sheets[a].CodeName=yt(Pt(n.codeName)))}var uc=["objects","scenarios","selectLockedCells","selectUnlockedCells"],dc=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"],pc=/<(?:\w:)?sheetView(?:[^>a-z][^>]*)?\/?>/;function mc(e,t,r,a){if(e.c&&r["!comments"].push([t,e.c]),void 0===e.v&&"string"!=typeof e.f||"z"===e.t&&!e.f)return"";var n="",s=e.t,i=e.v;if("z"!==e.t)switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Wa[e.v];break;case"d":a&&a.cellDates?n=Xe(e.v,-1).toISOString():((e=Ye(e)).t="n",n=""+(e.v=Me(Xe(e.v)))),void 0===e.z&&(e.z=H[14]);break;default:n=e.v}var o=Gt("v",_t(n)),c={r:t},l=Zo(a.cellXfs,e,a);switch(0!==l&&(c.s=l),e.t){case"n":case"z":break;case"d":c.t="d";break;case"b":c.t="b";break;case"e":c.t="e";break;default:if(null==e.v){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(a&&a.bookSST){o=Gt("v",""+Ko(a.Strings,e.v,a.revStrings)),c.t="s";break}c.t="str"}if(e.t!=s&&(e.t=s,e.v=i),"string"==typeof e.f&&e.f){var f=e.F&&e.F.slice(0,t.length)==t?{t:"array",ref:e.F}:null;o=Xt("f",_t(e.f),f)+(null!=e.v?o:"")}return e.l&&r["!links"].push([t,e.l]),e.D&&(c.cm=1),Xt("c",o,c)}var gc=function(){var e=/<(?:\w+:)?c[ \/>]/,t=/<\/(?:\w+:)?row>/,r=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/,n=/ref=["']([^"']*)["']/,s=Mt("v"),i=Mt("f");return function(o,c,l,f,h,u){for(var d,p,m,g,v,b=0,w="",T=[],E=[],y=0,S=0,k=0,_="",A=0,x=0,C=0,O=0,R=Array.isArray(u.CellXf),I=[],N=[],F=Array.isArray(c),D=[],P={},L=!1,M=!!l.sheetStubs,U=o.split(t),B=0,W=U.length;B!=W;++B){var z=(w=U[B].trim()).length;if(0!==z){var V=0;e:for(b=0;b":if("/"!=w[b-1]){++b;break e}if(l&&l.cellStyles){if(A=null!=(p=bt(w.slice(V,b),!0)).r?parseInt(p.r,10):A+1,x=-1,l.sheetRows&&l.sheetRows=b)break;if(A=null!=(p=bt(w.slice(V,b),!0)).r?parseInt(p.r,10):A+1,x=-1,!(l.sheetRows&&l.sheetRowsA-1&&(f.s.r=A-1),f.e.r":"")+w,null!=E&&2===E.length){for(y=0,_=E[1],S=0;S!=_.length&&!((k=_.charCodeAt(S)-64)<1||k>26);++S)y=26*y+k;x=--y}else++x;for(S=0;S!=w.length&&62!==w.charCodeAt(S);++S);if(++S,(p=bt(w.slice(0,S),!0)).r||(p.r=Zr({r:A-1,c:x})),d={t:""},null!=(E=(_=w.slice(S)).match(s))&&""!==E[1]&&(d.v=yt(E[1])),l.cellFormula){if(null!=(E=_.match(i))&&""!==E[1]){if(d.f=yt(Pt(E[1])).replace(/\r\n/g,"\n"),l.xlfn||(d.f=ao(d.f)),E[0].indexOf('t="array"')>-1)d.F=(_.match(n)||[])[1],d.F.indexOf(":")>-1&&I.push([ta(d.F),d.F]);else if(E[0].indexOf('t="shared"')>-1){g=bt(E[0]);var j=yt(Pt(E[1]));l.xlfn||(j=ao(j)),N[parseInt(g.si,10)]=[g,j,p.r]}}else(E=_.match(/]*\/>/))&&N[(g=bt(E[0])).si]&&(d.f=ro(N[g.si][1],N[g.si][2],p.r));var X=qr(p.r);for(S=0;S=I[S][0].s.r&&X.r<=I[S][0].e.r&&X.c>=I[S][0].s.c&&X.c<=I[S][0].e.c&&(d.F=I[S][1])}if(null==p.t&&void 0===d.v)if(d.f||d.F)d.v=0,d.t="n";else{if(!M)continue;d.t="z"}else d.t=p.t||"n";switch(f.s.c>x&&(f.s.c=x),f.e.c0&&(c["!rows"]=D)}}();function vc(e,t,r,a){var n,s=[ut,Xt("worksheet",null,{xmlns:tr[0],"xmlns:r":Zt})],i=r.SheetNames[e],o="",c=r.Sheets[i];null==c&&(c={});var l=c["!ref"]||"A1",f=ta(l);if(f.e.c>16383||f.e.r>1048575){if(t.WTF)throw new Error("Range "+l+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383),f.e.r=Math.min(f.e.c,1048575),l=ea(f)}a||(a={}),c["!comments"]=[];var h=[];!function(e,t,r,a,n){var s=!1,i={},o=null;if("xlsx"!==a.bookType&&t.vbaraw){var c=t.SheetNames[r];try{t.Workbook&&(c=t.Workbook.Sheets[r].CodeName||c)}catch(e){}s=!0,i.codeName=Lt(_t(c))}if(e&&e["!outline"]){var l={summaryBelow:1,summaryRight:1};e["!outline"].above&&(l.summaryBelow=0),e["!outline"].left&&(l.summaryRight=0),o=(o||"")+Xt("outlinePr",null,l)}(s||o)&&(n[n.length]=Xt("sheetPr",o,i))}(c,r,e,t,s),s[s.length]=Xt("dimension",null,{ref:l}),s[s.length]=function(e,t,r,a){var n={workbookViewId:"0"};return(((a||{}).Workbook||{}).Views||[])[0]&&(n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0"),Xt("sheetViews",Xt("sheetView",null,n),{})}(0,0,0,r),t.sheetFormat&&(s[s.length]=Xt("sheetFormatPr",null,{defaultRowHeight:t.sheetFormat.defaultRowHeight||"16",baseColWidth:t.sheetFormat.baseColWidth||"10",outlineLevelRow:t.sheetFormat.outlineLevelRow||"7"})),null!=c["!cols"]&&c["!cols"].length>0&&(s[s.length]=function(e,t){for(var r,a=[""],n=0;n!=t.length;++n)(r=t[n])&&(a[a.length]=Xt("col",null,Jo(n,r)));return a[a.length]="",a.join("")}(0,c["!cols"])),s[n=s.length]="",c["!links"]=[],null!=c["!ref"]&&(o=function(e,t){var r,a,n=[],s=[],i=ta(e["!ref"]),o="",c="",l=[],f=0,h=0,u=e["!rows"],d=Array.isArray(e),p={r:c},m=-1;for(h=i.s.c;h<=i.e.c;++h)l[h]=Jr(h);for(f=i.s.r;f<=i.e.r;++f){for(s=[],c=Yr(f),h=i.s.c;h<=i.e.c;++h){r=l[h]+c;var g=d?(e[f]||[])[h]:e[r];void 0!==g&&null!=(o=mc(g,r,e,t))&&s.push(o)}(s.length>0||u&&u[f])&&(p={r:c},u&&u[f]&&((a=u[f]).hidden&&(p.hidden=1),m=-1,a.hpx?m=pi(a.hpx):a.hpt&&(m=a.hpt),m>-1&&(p.ht=m,p.customHeight=1),a.level&&(p.outlineLevel=a.level)),n[n.length]=Xt("row",s.join(""),p))}if(u)for(;f-1&&(p.ht=m,p.customHeight=1),a.level&&(p.outlineLevel=a.level),n[n.length]=Xt("row","",p));return n.join("")}(c,t),o.length>0&&(s[s.length]=o)),s.length>n+1&&(s[s.length]="",s[n]=s[n].replace("/>",">")),c["!protect"]&&(s[s.length]=function(e){var t={sheet:1};return uc.forEach(function(r){null!=e[r]&&e[r]&&(t[r]="1")}),dc.forEach(function(r){null==e[r]||e[r]||(t[r]="0")}),e.password&&(t.password=ri(e.password).toString(16).toUpperCase()),Xt("sheetProtection",null,t)}(c["!protect"])),null!=c["!autofilter"]&&(s[s.length]=function(e,t,r,a){var n="string"==typeof e.ref?e.ref:ea(e.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var s=r.Workbook.Names,i=Qr(n);i.s.r==i.e.r&&(i.e.r=Qr(t["!ref"]).e.r,n=ea(i));for(var o=0;o0&&(s[s.length]=function(e){if(0===e.length)return"";for(var t='',r=0;r!=e.length;++r)t+='';return t+""}(c["!merges"]));var u,d,p=-1,m=-1;return c["!links"].length>0&&(s[s.length]="",c["!links"].forEach(function(e){e[1].Target&&(u={ref:e[0]},"#"!=e[1].Target.charAt(0)&&(m=Ka(a,-1,_t(e[1].Target).replace(/#.*$/,""),ja.HLINK),u["r:id"]="rId"+m),(p=e[1].Target.indexOf("#"))>-1&&(u.location=_t(e[1].Target.slice(p+1))),e[1].Tooltip&&(u.tooltip=_t(e[1].Tooltip)),s[s.length]=Xt("hyperlink",null,u))}),s[s.length]=""),delete c["!links"],null!=c["!margins"]&&(s[s.length]=(qo(d=c["!margins"]),Xt("pageMargins",null,d))),t&&!t.ignoreEC&&null!=t.ignoreEC||(s[s.length]=Gt("ignoredErrors",Xt("ignoredError",null,{numberStoredAsText:1,sqref:l}))),h.length>0&&(m=Ka(a,-1,"../drawings/drawing"+(e+1)+".xml",ja.DRAW),s[s.length]=Xt("drawing",null,{"r:id":"rId"+m}),c["!drawing"]=h),c["!comments"].length>0&&(m=Ka(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",ja.VML),s[s.length]=Xt("legacyDrawing",null,{"r:id":"rId"+m}),c["!legacy"]=m),s.length>1&&(s[s.length]="",s[1]=s[1].replace("/>",">")),s.join("")}function bc(e,t,r,a){var n=function(e,t,r){var a=Br(145),n=(r["!rows"]||[])[e]||{};a.write_shift(4,e),a.write_shift(4,0);var s=320;n.hpx?s=20*pi(n.hpx):n.hpt&&(s=20*n.hpt),a.write_shift(2,s),a.write_shift(1,0);var i=0;n.level&&(i|=n.level),n.hidden&&(i|=16),(n.hpx||n.hpt)&&(i|=32),a.write_shift(1,i),a.write_shift(1,0);var o=0,c=a.l;a.l+=4;for(var l={r:e,c:0},f=0;f<16;++f)if(!(t.s.c>f+1<<10||t.e.ca.l?a.slice(0,a.l):a}(a,r,t);(n.length>17||(t["!rows"]||[])[a])&&zr(e,0,n)}var wc=Aa,Tc=xa;function Ec(e){return[pa(e),Ca(e),"n"]}var yc=Aa,Sc=xa,kc=["left","right","top","bottom","header","footer"];function _c(e,t,r,a,n,s,i){if(void 0===t.v)return!1;var o="";switch(t.t){case"b":o=t.v?"1":"0";break;case"d":(t=Ye(t)).z=t.z||H[14],t.v=Me(Xe(t.v)),t.t="n";break;case"n":case"e":o=""+t.v;break;default:o=t.v}var c={r,c:a};switch(c.s=Zo(n.cellXfs,t,n),t.l&&s["!links"].push([Zr(c),t.l]),t.c&&s["!comments"].push([Zr(c),t.c]),t.t){case"s":case"str":return n.bookSST?(o=Ko(n.Strings,t.v,n.revStrings),c.t="s",c.v=o,i?zr(e,18,function(e,t,r){return null==r&&(r=Br(8)),ma(t,r),r.write_shift(4,t.v),r}(0,c)):zr(e,7,function(e,t,r){return null==r&&(r=Br(12)),da(t,r),r.write_shift(4,t.v),r}(0,c))):(c.t="str",i?zr(e,17,function(e,t,r){return null==r&&(r=Br(8+4*e.v.length)),ma(t,r),ca(e.v,r),r.length>r.l?r.slice(0,r.l):r}(t,c)):zr(e,6,function(e,t,r){return null==r&&(r=Br(12+4*e.v.length)),da(t,r),ca(e.v,r),r.length>r.l?r.slice(0,r.l):r}(t,c))),!0;case"n":return t.v==(0|t.v)&&t.v>-1e3&&t.v<1e3?i?zr(e,13,function(e,t,r){return null==r&&(r=Br(8)),ma(t,r),ka(e.v,r),r}(t,c)):zr(e,2,function(e,t,r){return null==r&&(r=Br(12)),da(t,r),ka(e.v,r),r}(t,c)):i?zr(e,16,function(e,t,r){return null==r&&(r=Br(12)),ma(t,r),Oa(e.v,r),r}(t,c)):zr(e,5,function(e,t,r){return null==r&&(r=Br(16)),da(t,r),Oa(e.v,r),r}(t,c)),!0;case"b":return c.t="b",i?zr(e,15,function(e,t,r){return null==r&&(r=Br(5)),ma(t,r),r.write_shift(1,e.v?1:0),r}(t,c)):zr(e,4,function(e,t,r){return null==r&&(r=Br(9)),da(t,r),r.write_shift(1,e.v?1:0),r}(t,c)),!0;case"e":return c.t="e",i?zr(e,14,function(e,t,r){return null==r&&(r=Br(8)),ma(t,r),r.write_shift(1,e.v),r.write_shift(2,0),r.write_shift(1,0),r}(t,c)):zr(e,3,function(e,t,r){return null==r&&(r=Br(9)),da(t,r),r.write_shift(1,e.v),r}(t,c)),!0}return i?zr(e,12,function(e,t,r){return null==r&&(r=Br(4)),ma(t,r)}(0,c)):zr(e,1,function(e,t,r){return null==r&&(r=Br(8)),da(t,r)}(0,c)),!0}function Ac(e,t,r,a){var n=Hr(),s=r.SheetNames[e],i=r.Sheets[s]||{},o=s;try{r&&r.Workbook&&(o=r.Workbook.Sheets[e].CodeName||o)}catch(e){}var c,l,f=ta(i["!ref"]||"A1");if(f.e.c>16383||f.e.r>1048575){if(t.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");f.e.c=Math.min(f.e.c,16383),f.e.r=Math.min(f.e.c,1048575)}return i["!links"]=[],i["!comments"]=[],zr(n,129),(r.vbaraw||i["!outline"])&&zr(n,147,function(e,t,r){null==r&&(r=Br(84+4*e.length));var a=192;t&&(t.above&&(a&=-65),t.left&&(a&=-129)),r.write_shift(1,a);for(var n=1;n<3;++n)r.write_shift(1,0);return Ra({auto:1},r),r.write_shift(-4,-1),r.write_shift(-4,-1),va(e,r),r.slice(0,r.l)}(o,i["!outline"])),zr(n,148,Tc(f)),function(e,t,r){zr(e,133),zr(e,137,function(e,t,r){null==r&&(r=Br(30));var a=924;return(((t||{}).Views||[])[0]||{}).RTL&&(a|=32),r.write_shift(2,a),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(2,0),r.write_shift(2,100),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(4,0),r}(0,r)),zr(e,138),zr(e,134)}(n,0,r.Workbook),function(e,t){t&&t["!cols"]&&(zr(e,390),t["!cols"].forEach(function(t,r){t&&zr(e,60,function(e,t,r){null==r&&(r=Br(18));var a=Jo(e,t);r.write_shift(-4,e),r.write_shift(-4,e),r.write_shift(4,256*(a.width||10)),r.write_shift(4,0);var n=0;return t.hidden&&(n|=1),"number"==typeof a.width&&(n|=2),t.level&&(n|=t.level<<8),r.write_shift(2,n),r}(r,t))}),zr(e,391))}(n,i),function(e,t,r,a){var n,s=ta(t["!ref"]||"A1"),i="",o=[];zr(e,145);var c=Array.isArray(t),l=s.e.r;t["!rows"]&&(l=Math.max(s.e.r,t["!rows"].length-1));for(var f=s.s.r;f<=l;++f){i=Yr(f),bc(e,t,s,f);var h=!1;if(f<=s.e.r)for(var u=s.s.c;u<=s.e.c;++u){f===s.s.r&&(o[u]=Jr(u)),n=o[u]+i;var d=c?(t[f]||[])[u]:t[n];h=!!d&&_c(e,d,f,u,a,t,h)}}zr(e,146)}(n,i,0,t),function(e,t){var r,a;t["!protect"]&&zr(e,535,(r=t["!protect"],null==a&&(a=Br(66)),a.write_shift(2,r.password?ri(r.password):0),a.write_shift(4,1),[["objects",!1],["scenarios",!1],["formatCells",!0],["formatColumns",!0],["formatRows",!0],["insertColumns",!0],["insertRows",!0],["insertHyperlinks",!0],["deleteColumns",!0],["deleteRows",!0],["selectLockedCells",!1],["sort",!0],["autoFilter",!0],["pivotTables",!0],["selectUnlockedCells",!1]].forEach(function(e){e[1]?a.write_shift(4,null==r[e[0]]||r[e[0]]?0:1):a.write_shift(4,null!=r[e[0]]&&r[e[0]]?0:1)}),a))}(n,i),function(e,t,r,a){if(t["!autofilter"]){var n=t["!autofilter"],s="string"==typeof n.ref?n.ref:ea(n.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var i=r.Workbook.Names,o=Qr(s);o.s.r==o.e.r&&(o.e.r=Qr(t["!ref"]).e.r,s=ea(o));for(var c=0;c0){var n=Ka(a,-1,"../drawings/vmlDrawing"+(r+1)+".vml",ja.VML);zr(e,551,ya("rId"+n)),t["!legacy"]=n}}(n,i,e,a),zr(n,130),n.end()}var xc=[["allowRefreshQuery",!1,"bool"],["autoCompressPictures",!0,"bool"],["backupFile",!1,"bool"],["checkCompatibility",!1,"bool"],["CodeName",""],["date1904",!1,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",!1,"bool"],["hidePivotFieldList",!1,"bool"],["promptedSolutions",!1,"bool"],["publishItems",!1,"bool"],["refreshAllConnections",!1,"bool"],["saveExternalLinkValues",!0,"bool"],["showBorderUnselectedTables",!0,"bool"],["showInkAnnotation",!0,"bool"],["showObjects","all"],["showPivotChartFilter",!1,"bool"],["updateLinks","userSet"]],Cc=[["activeTab",0,"int"],["autoFilterDateGrouping",!0,"bool"],["firstSheet",0,"int"],["minimized",!1,"bool"],["showHorizontalScroll",!0,"bool"],["showSheetTabs",!0,"bool"],["showVerticalScroll",!0,"bool"],["tabRatio",600,"int"],["visibility","visible"]],Oc=[],Rc=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Ic(e,t){for(var r=0;r!=e.length;++r)for(var a=e[r],n=0;n!=t.length;++n){var s=t[n];if(null==a[s[0]])a[s[0]]=s[1];else switch(s[2]){case"bool":"string"==typeof a[s[0]]&&(a[s[0]]=Rt(a[s[0]]));break;case"int":"string"==typeof a[s[0]]&&(a[s[0]]=parseInt(a[s[0]],10))}}}function Nc(e,t){for(var r=0;r!=t.length;++r){var a=t[r];if(null==e[a[0]])e[a[0]]=a[1];else switch(a[2]){case"bool":"string"==typeof e[a[0]]&&(e[a[0]]=Rt(e[a[0]]));break;case"int":"string"==typeof e[a[0]]&&(e[a[0]]=parseInt(e[a[0]],10))}}}function Fc(e){Nc(e.WBProps,xc),Nc(e.CalcPr,Rc),Ic(e.WBView,Cc),Ic(e.Sheets,Oc),$o.date1904=Rt(e.WBProps.date1904)}var Dc="][*?/\\".split("");function Pc(e,t){if(e.length>31){if(t)return!1;throw new Error("Sheet names cannot exceed 31 chars")}var r=!0;return Dc.forEach(function(a){if(-1!=e.indexOf(a)){if(!t)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");r=!1}}),r}function Lc(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var t,r,a,n=e.Workbook&&e.Workbook.Sheets||[];t=e.SheetNames,r=n,a=!!e.vbaraw,t.forEach(function(e,n){Pc(e);for(var s=0;s22)throw new Error("Bad Code Name: Worksheet"+i)}});for(var s=0;s0,a={codeName:"ThisWorkbook"};e.Workbook&&e.Workbook.WBProps&&(xc.forEach(function(t){null!=e.Workbook.WBProps[t[0]]&&e.Workbook.WBProps[t[0]]!=t[1]&&(a[t[0]]=e.Workbook.WBProps[t[0]])}),e.Workbook.WBProps.CodeName&&(a.codeName=e.Workbook.WBProps.CodeName,delete a.CodeName)),t[t.length]=Xt("workbookPr",null,a);var n=e.Workbook&&e.Workbook.Sheets||[],s=0;if(n&&n[0]&&n[0].Hidden){for(t[t.length]="",s=0;s!=e.SheetNames.length&&n[s]&&n[s].Hidden;++s);s==e.SheetNames.length&&(s=0),t[t.length]='',t[t.length]=""}for(t[t.length]="",s=0;s!=e.SheetNames.length;++s){var i={name:_t(e.SheetNames[s].slice(0,31))};if(i.sheetId=""+(s+1),i["r:id"]="rId"+(s+1),n[s])switch(n[s].Hidden){case 1:i.state="hidden";break;case 2:i.state="veryHidden"}t[t.length]=Xt("sheet",null,i)}return t[t.length]="",r&&(t[t.length]="",e.Workbook&&e.Workbook.Names&&e.Workbook.Names.forEach(function(e){var r={name:e.Name};e.Comment&&(r.comment=e.Comment),null!=e.Sheet&&(r.localSheetId=""+e.Sheet),e.Hidden&&(r.hidden="1"),e.Ref&&(t[t.length]=Xt("definedName",_t(e.Ref),r))}),t[t.length]=""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Bc(e,t){return t||(t=Br(127)),t.write_shift(4,e.Hidden),t.write_shift(4,e.iTabID),ya(e.strRelID,t),ca(e.name.slice(0,31),t),t.length>t.l?t.slice(0,t.l):t}function Wc(e,t){var r={};return e.read_shift(4),r.ArchID=e.read_shift(4),e.l+=t-8,r}function Hc(e,t){var r=Hr();return zr(r,131),zr(r,128,function(e,t){t||(t=Br(127));for(var r=0;4!=r;++r)t.write_shift(4,0);return ca("SheetJS",t),ca(a,t),ca(a,t),ca("7262",t),t.length>t.l?t.slice(0,t.l):t}()),zr(r,153,function(e,t){t||(t=Br(72));var r=0;return e&&e.filterPrivacy&&(r|=8),t.write_shift(4,r),t.write_shift(4,0),va(e&&e.CodeName||"ThisWorkbook",t),t.slice(0,t.l)}(e.Workbook&&e.Workbook.WBProps||null)),function(e,t){if(t.Workbook&&t.Workbook.Sheets){for(var r,a,n=t.Workbook.Sheets,s=0,i=-1,o=-1;si||(zr(e,135),zr(e,158,(r=i,a||(a=Br(29)),a.write_shift(-4,0),a.write_shift(-4,460),a.write_shift(4,28800),a.write_shift(4,17600),a.write_shift(4,500),a.write_shift(4,r),a.write_shift(4,r),a.write_shift(1,120),a.length>a.l?a.slice(0,a.l):a)),zr(e,136))}}(r,e),function(e,t){zr(e,143);for(var r=0;r!=t.SheetNames.length;++r)zr(e,156,Bc({Hidden:t.Workbook&&t.Workbook.Sheets&&t.Workbook.Sheets[r]&&t.Workbook.Sheets[r].Hidden||0,iTabID:r+1,strRelID:"rId"+(r+1),name:t.SheetNames[r]}));zr(e,144)}(r,e),zr(r,132),r.end()}function zc(e,t,r,a,n,s,i,o){return".bin"===t.slice(-4)?function(e,t,r,a,n,s,i){if(!e)return e;var o=t||{};a||(a={"!id":{}});var c,l,f,h,u,d,p,m,g,v,b=o.dense?[]:{},w={s:{r:2e6,c:2e6},e:{r:0,c:0}},T=[],E=!1,y=!1,S=[];o.biff=12,o["!row"]=0;var k=0,_=!1,A=[],x={},C=o.supbooks||n.supbooks||[[]];if(C.sharedf=x,C.arrayf=A,C.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name}),!o.supbooks&&(o.supbooks=C,n.Names))for(var O=0;O=P[0].s.r&&l.r<=P[0].e.r&&d>=P[0].s.c&&d<=P[0].e.c&&(f.F=ea(P[0]),_=!0)}!_&&e.length>3&&(f.f=e[3])}if(w.s.r>l.r&&(w.s.r=l.r),w.s.c>d&&(w.s.c=d),w.e.rl.r&&(w.s.r=l.r),w.s.c>d&&(w.s.c=d),w.e.r=e.s;)N[e.e--]={width:e.w/256,hidden:!!(1&e.flags),level:e.level},D||(D=!0,ui(e.w/256)),di(N[e.e+1]);break;case 161:b["!autofilter"]={ref:ea(e)};break;case 476:b["!margins"]=e;break;case 147:n.Sheets[r]||(n.Sheets[r]={}),e.name&&(n.Sheets[r].CodeName=e.name),(e.above||e.left)&&(b["!outline"]={above:e.above,left:e.left});break;case 137:n.Views||(n.Views=[{}]),n.Views[0]||(n.Views[0]={}),e.RTL&&(n.Views[0].RTL=!0);break;case 485:case 64:case 1053:case 151:case 152:case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 507:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 3072:case 50:case 2070:case 1045:break;case 35:E=!0;break;case 36:E=!1;break;case 37:T.push(O),E=!0;break;case 38:T.pop(),E=!1;break;default:if(t.T);else if(!E||o.WTF)throw new Error("Unexpected record 0x"+O.toString(16))}},o),delete o.supbooks,delete o["!row"],!b["!ref"]&&(w.s.r<2e6||c&&(c.e.r>0||c.e.c>0||c.s.r>0||c.s.c>0))&&(b["!ref"]=ea(c||w)),o.sheetRows&&b["!ref"]){var P=ta(b["!ref"]);o.sheetRows<=+P.e.r&&(P.e.r=o.sheetRows-1,P.e.r>w.e.r&&(P.e.r=w.e.r),P.e.rw.e.c&&(P.e.c=w.e.c),P.e.c0&&(b["!merges"]=S),N.length>0&&(b["!cols"]=N),F.length>0&&(b["!rows"]=F),b}(e,a,r,n,s,i,o):function(e,t,r,a,n,s,i){if(!e)return e;a||(a={"!id":{}});var o=t.dense?[]:{},c={s:{r:2e6,c:2e6},e:{r:0,c:0}},l="",f="",h=e.match(rc);h?(l=e.slice(0,h.index),f=e.slice(h.index+h[0].length)):l=f=e;var u=l.match(cc);u?hc(u[0],0,n,r):(u=l.match(lc))&&function(e,t,r,a,n){hc(e.slice(0,e.indexOf(">")),0,a,n)}(u[0],u[1],0,n,r);var d=(l.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var p=l.slice(d,d+50).match(nc);p&&function(e,t){var r=ta(t);r.s.r<=r.e.r&&r.s.c<=r.e.c&&r.s.r>=0&&r.s.c>=0&&(e["!ref"]=ea(r))}(o,p[1])}var m=l.match(fc);m&&m[1]&&function(e,t){t.Views||(t.Views=[{}]),(e.match(pc)||[]).forEach(function(e,r){var a=bt(e);t.Views[r]||(t.Views[r]={}),+a.zoomScale&&(t.Views[r].zoom=+a.zoomScale),Rt(a.rightToLeft)&&(t.Views[r].RTL=!0)})}(m[1],n);var g=[];if(t.cellStyles){var v=l.match(sc);v&&function(e,t){for(var r=!1,a=0;a!=t.length;++a){var n=bt(t[a],!0);n.hidden&&(n.hidden=Rt(n.hidden));var s=parseInt(n.min,10)-1,i=parseInt(n.max,10)-1;for(n.outlineLevel&&(n.level=+n.outlineLevel||0),delete n.min,delete n.max,n.width=+n.width,!r&&n.width&&(r=!0,ui(n.width)),di(n);s<=i;)e[s++]=Ye(n)}}(g,v)}h&&gc(h[1],o,t,c,s,i);var b=f.match(ic);b&&(o["!autofilter"]=function(e){return{ref:(e.match(/ref="([^"]*)"/)||[])[1]}}(b[0]));var w=[],T=f.match(tc);if(T)for(d=0;d!=T.length;++d)w[d]=ta(T[d].slice(T[d].indexOf('"')+1));var E=f.match(ac);E&&function(e,t,r){for(var a=Array.isArray(e),n=0;n!=t.length;++n){var s=bt(Pt(t[n]),!0);if(!s.ref)return;var i=((r||{})["!id"]||[])[s.id];i?(s.Target=i.Target,s.location&&(s.Target+="#"+yt(s.location))):(s.Target="#"+yt(s.location),i={Target:s.Target,TargetMode:"Internal"}),s.Rel=i,s.tooltip&&(s.Tooltip=s.tooltip,delete s.tooltip);for(var o=ta(s.ref),c=o.s.r;c<=o.e.r;++c)for(var l=o.s.c;l<=o.e.c;++l){var f=Zr({c:l,r:c});a?(e[c]||(e[c]=[]),e[c][l]||(e[c][l]={t:"z",v:void 0}),e[c][l].l=s):(e[f]||(e[f]={t:"z",v:void 0}),e[f].l=s)}}}(o,E,a);var y,S,k=f.match(oc);if(k&&(o["!margins"]=(y=bt(k[0]),S={},["left","right","top","bottom","header","footer"].forEach(function(e){y[e]&&(S[e]=parseFloat(y[e]))}),S)),!o["!ref"]&&c.e.c>=c.s.c&&c.e.r>=c.s.r&&(o["!ref"]=ea(c)),t.sheetRows>0&&o["!ref"]){var _=ta(o["!ref"]);t.sheetRows<=+_.e.r&&(_.e.r=t.sheetRows-1,_.e.r>c.e.r&&(_.e.r=c.e.r),_.e.r<_.s.r&&(_.s.r=_.e.r),_.e.c>c.e.c&&(_.e.c=c.e.c),_.e.c<_.s.c&&(_.s.c=_.e.c),o["!fullref"]=o["!ref"],o["!ref"]=ea(_))}return g.length>0&&(o["!cols"]=g),w.length>0&&(o["!merges"]=w),o}(e,a,r,n,s,i,o)}function Vc(e,t,r,a,n){return(".bin"===t.slice(-4)?Ac:vc)(e,r,a,n)}function Gc(e,t,r){return(".bin"===t.slice(-4)?Ji:$i)(e,r)}var jc,Xc=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g,$c=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;function Yc(e,t){var r=e.split(/\s+/),a=[];if(t||(a[0]=r[0]),1===r.length)return a;var n,s,i,o=e.match(Xc);if(o)for(i=0;i!=o.length;++i)-1===(s=(n=o[i].match($c))[1].indexOf(":"))?a[n[1]]=n[2].slice(1,n[2].length-1):a["xmlns:"===n[1].slice(0,6)?"xmlns"+n[1].slice(6):n[1].slice(s+1)]=n[2].slice(1,n[2].length-1);return a}function Kc(e){var t={};if(1===e.split(/\s+/).length)return t;var r,a,n,s=e.match(Xc);if(s)for(n=0;n!=s.length;++n)-1===(a=(r=s[n].match($c))[1].indexOf(":"))?t[r[1]]=r[2].slice(1,r[2].length-1):t["xmlns:"===r[1].slice(0,6)?"xmlns"+r[1].slice(6):r[1].slice(a+1)]=r[2].slice(1,r[2].length-1);return t}function Jc(e,t,r,a){var n=a;switch((r[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=Rt(a);break;case"i2":case"int":n=parseInt(a,10);break;case"r4":case"float":n=parseFloat(a);break;case"date":case"dateTime.tz":n=Xe(a);break;case"i8":case"string":case"fixed":case"uuid":case"bin.base64":break;default:throw new Error("bad custprop:"+r[0])}e[yt(t)]=n}function qc(e,t,r){if(r.cellStyles&&t.Interior){var a=t.Interior;a.Pattern&&(a.patternType=gi[a.Pattern]||a.Pattern)}e[t.ID]=t}function Zc(e,t,r,a,n,s,i,o,c,l){var f="General",h=a.StyleID,u={};l=l||{};var d=[],p=0;for(void 0===h&&o&&(h=o.StyleID),void 0===h&&i&&(h=i.StyleID);void 0!==s[h]&&(s[h].nf&&(f=s[h].nf),s[h].Interior&&d.push(s[h].Interior),s[h].Parent);)h=s[h].Parent;switch(r.Type){case"Boolean":a.t="b",a.v=Rt(e);break;case"String":a.t="s",a.r=Ot(yt(e)),a.v=e.indexOf("<")>-1?yt(t||e).replace(/<.*?>/g,""):a.r;break;case"DateTime":"Z"!=e.slice(-1)&&(e+="Z"),a.v=(Xe(e)-new Date(Date.UTC(1899,11,30)))/864e5,a.v!=a.v?a.v=yt(e):a.v<60&&(a.v=a.v-1),f&&"General"!=f||(f="yyyy-mm-dd");case"Number":void 0===a.v&&(a.v=+e),a.t||(a.t="n");break;case"Error":a.t="e",a.v=Ha[e],!1!==l.cellText&&(a.w=e);break;default:""==e&&""==t?a.t="z":(a.t="s",a.v=Ot(t||e))}if(function(e,t,r){if("z"!==e.t){if(!r||!1!==r.cellText)try{"e"===e.t?e.w=e.w||Wa[e.v]:"General"===t?"n"===e.t?(0|e.v)===e.v?e.w=e.v.toString(10):e.w=Z(e.v):e.w=Q(e.v):e.w=(a=t||"General",n=e.v,"General"===(s=jc[a]||yt(a))?Q(n):we(s,n))}catch(e){if(r.WTF)throw e}var a,n,s;try{var i=jc[t]||t||"General";if(r.cellNF&&(e.z=i),r.cellDates&&"n"==e.t&&ge(i)){var o=j(e.v);o&&(e.t="d",e.v=new Date(o.y,o.m-1,o.d,o.H,o.M,o.S,o.u))}}catch(e){if(r.WTF)throw e}}}(a,f,l),!1!==l.cellFormula)if(a.Formula){var m=yt(a.Formula);61==m.charCodeAt(0)&&(m=m.slice(1)),a.f=Zi(m,n),delete a.Formula,"RC"==a.ArrayRange?a.F=Zi("RC:RC",n):a.ArrayRange&&(a.F=Zi(a.ArrayRange,n),c.push([ta(a.F),a.F]))}else for(p=0;p=c[p][0].s.r&&n.r<=c[p][0].e.r&&n.c>=c[p][0].s.c&&n.c<=c[p][0].e.c&&(a.F=c[p][1]);l.cellStyles&&(d.forEach(function(e){!u.patternType&&e.patternType&&(u.patternType=e.patternType)}),a.s=u),void 0!==a.StyleID&&(a.ixfe=a.StyleID)}function Qc(e){e.t=e.v||"",e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),e.v=e.w=e.ixfe=void 0}function el(e,t){var r=t||{};ye();var a=p(Yt(e));"binary"!=r.type&&"array"!=r.type&&"base64"!=r.type||(a=void 0!==d?d.utils.decode(65001,h(a)):Pt(a));var n,s=a.slice(0,1024).toLowerCase(),i=!1;if((1023&(s=s.replace(/".*?"/g,"")).indexOf(">"))>Math.min(1023&s.indexOf(","),1023&s.indexOf(";"))){var o=Ye(r);return o.type="string",Fs.to_workbook(a,o)}if(-1==s.indexOf("=0&&(i=!0)}),i)return function(e,t){var r=e.match(/[\s\S]*?<\/table>/gi);if(!r||0==r.length)throw new Error("Invalid HTML: could not find ");if(1==r.length)return aa(Sl(r[0],t),t);var a={SheetNames:[],Sheets:{}};return r.forEach(function(e,r){Vf(a,Sl(e,t),"Sheet"+(r+1))}),a}(a,r);jc={"General Number":"General","General Date":H[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":H[15],"Short Date":H[14],"Long Time":H[19],"Medium Time":H[18],"Short Time":H[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:H[2],Standard:H[4],Percent:H[10],Scientific:H[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var c,l,f=[],u={},m=[],g=r.dense?[]:{},v="",b={},w={},T=Yc(''),E=0,y=0,S=0,k={s:{r:2e6,c:2e6},e:{r:0,c:0}},_={},A={},x="",C=0,O=[],R={},I={},N=0,F=[],D=[],P={},L=[],M=!1,U=[],B=[],W={},z=0,V=0,G={Sheets:[],WBProps:{date1904:!1}},j={};Kt.lastIndex=0,a=a.replace(//gm,"");for(var X="";n=Kt.exec(a);)switch(n[3]=(X=n[3]).toLowerCase()){case"data":if("data"==X){if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&f.push([n[3],!0]);break}if(f[f.length-1][1])break;"/"===n[1]?Zc(a.slice(E,n.index),x,T,"comment"==f[f.length-1][0]?P:b,{c:y,r:S},_,L[y],w,U,r):(x="",T=Yc(n[0]),E=n.index+n[0].length);break;case"cell":if("/"===n[1])if(D.length>0&&(b.c=D),(!r.sheetRows||r.sheetRows>S)&&void 0!==b.v&&(r.dense?(g[S]||(g[S]=[]),g[S][y]=b):g[Jr(y)+Yr(S)]=b),b.HRef&&(b.l={Target:yt(b.HRef)},b.HRefScreenTip&&(b.l.Tooltip=b.HRefScreenTip),delete b.HRef,delete b.HRefScreenTip),(b.MergeAcross||b.MergeDown)&&(z=y+(0|parseInt(b.MergeAcross,10)),V=S+(0|parseInt(b.MergeDown,10)),O.push({s:{c:y,r:S},e:{c:z,r:V}})),r.sheetStubs)if(b.MergeAcross||b.MergeDown){for(var $=y;$<=z;++$)for(var Y=S;Y<=V;++Y)($>y||Y>S)&&(r.dense?(g[Y]||(g[Y]=[]),g[Y][$]={t:"z"}):g[Jr($)+Yr(Y)]={t:"z"});y=z+1}else++y;else b.MergeAcross?y=z+1:++y;else(b=Kc(n[0])).Index&&(y=+b.Index-1),yk.e.c&&(k.e.c=y),"/>"===n[0].slice(-2)&&++y,D=[];break;case"row":"/"===n[1]||"/>"===n[0].slice(-2)?(Sk.e.r&&(k.e.r=S),"/>"===n[0].slice(-2)&&(w=Yc(n[0])).Index&&(S=+w.Index-1),y=0,++S):((w=Yc(n[0])).Index&&(S=+w.Index-1),W={},("0"==w.AutoFitHeight||w.Height)&&(W.hpx=parseInt(w.Height,10),W.hpt=pi(W.hpx),B[S]=W),"1"==w.Hidden&&(W.hidden=!0,B[S]=W));break;case"worksheet":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"));m.push(v),k.s.r<=k.e.r&&k.s.c<=k.e.c&&(g["!ref"]=ea(k),r.sheetRows&&r.sheetRows<=k.e.r&&(g["!fullref"]=g["!ref"],k.e.r=r.sheetRows-1,g["!ref"]=ea(k))),O.length&&(g["!merges"]=O),L.length>0&&(g["!cols"]=L),B.length>0&&(g["!rows"]=B),u[v]=g}else k={s:{r:2e6,c:2e6},e:{r:0,c:0}},S=y=0,f.push([n[3],!1]),c=Yc(n[0]),v=yt(c.Name),g=r.dense?[]:{},O=[],U=[],B=[],j={name:v,Hidden:0},G.Sheets.push(j);break;case"table":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else{if("/>"==n[0].slice(-2))break;f.push([n[3],!1]),L=[],M=!1}break;case"style":"/"===n[1]?qc(_,A,r):A=Yc(n[0]);break;case"numberformat":A.nf=yt(Yc(n[0]).Format||"General"),jc[A.nf]&&(A.nf=jc[A.nf]);for(var K=0;392!=K&&H[K]!=A.nf;++K);if(392==K)for(K=57;392!=K;++K)if(null==H[K]){Te(A.nf,K);break}break;case"column":if("table"!==f[f.length-1][0])break;if((l=Yc(n[0])).Hidden&&(l.hidden=!0,delete l.Hidden),l.Width&&(l.wpx=parseInt(l.Width,10)),!M&&l.wpx>10){M=!0,oi=6;for(var J=0;J0&&(Q.Sheet=G.Sheets.length-1),G.Names.push(Q);break;case"namedcell":case"b":case"i":case"u":case"s":case"em":case"h2":case"h3":case"sub":case"sup":case"span":case"alignment":case"borders":case"border":case"protection":case"paragraphs":case"name":case"pixelsperinch":case"null":break;case"font":if("/>"===n[0].slice(-2))break;"/"===n[1]?x+=a.slice(C,n.index):C=n.index+n[0].length;break;case"interior":if(!r.cellStyles)break;A.Interior=Yc(n[0]);break;case"author":case"title":case"description":case"created":case"keywords":case"subject":case"category":case"company":case"lastauthor":case"lastsaved":case"lastprinted":case"version":case"revision":case"totaltime":case"hyperlinkbase":case"manager":case"contentstatus":case"identifier":case"language":case"appname":if("/>"===n[0].slice(-2))break;"/"===n[1]?dn(R,X,a.slice(N,n.index)):N=n.index+n[0].length;break;case"styles":case"workbook":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else f.push([n[3],!1]);break;case"comment":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"));Qc(P),D.push(P)}else f.push([n[3],!1]),P={a:(c=Yc(n[0])).Author};break;case"autofilter":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else if("/"!==n[0].charAt(n[0].length-2)){var ee=Yc(n[0]);g["!autofilter"]={ref:Zi(ee.Range).replace(/\$/g,"")},f.push([n[3],!0])}break;case"datavalidation":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&f.push([n[3],!0]);break;case"componentoptions":case"documentproperties":case"customdocumentproperties":case"officedocumentsettings":case"pivottable":case"pivotcache":case"names":case"mapinfo":case"pagebreaks":case"querytable":case"sorting":case"schema":case"conditionalformatting":case"smarttagtype":case"smarttags":case"excelworkbook":case"workbookoptions":case"worksheetoptions":if("/"===n[1]){if((c=f.pop())[0]!==n[3])throw new Error("Bad state: "+c.join("|"))}else"/"!==n[0].charAt(n[0].length-2)&&f.push([n[3],!0]);break;default:if(0==f.length&&"document"==n[3])return Ll(a,r);if(0==f.length&&"uof"==n[3])return Ll(a,r);var te=!0;switch(f[f.length-1][0]){case"officedocumentsettings":switch(n[3]){case"allowpng":case"removepersonalinformation":case"downloadcomponents":case"locationofcomponents":case"colors":case"color":case"index":case"rgb":case"targetscreensize":case"readonlyrecommended":break;default:te=!1}break;case"componentoptions":switch(n[3]){case"toolbar":case"hideofficelogo":case"spreadsheetautofit":case"label":case"caption":case"maxheight":case"maxwidth":case"nextsheetnumber":break;default:te=!1}break;case"excelworkbook":switch(n[3]){case"date1904":G.WBProps.date1904=!0;break;case"windowheight":case"windowwidth":case"windowtopx":case"windowtopy":case"tabratio":case"protectstructure":case"protectwindow":case"protectwindows":case"activesheet":case"displayinknotes":case"firstvisiblesheet":case"supbook":case"sheetname":case"sheetindex":case"sheetindexfirst":case"sheetindexlast":case"dll":case"acceptlabelsinformulas":case"donotsavelinkvalues":case"iteration":case"maxiterations":case"maxchange":case"path":case"xct":case"count":case"selectedsheets":case"calculation":case"uncalced":case"startupprompt":case"crn":case"externname":case"formula":case"colfirst":case"collast":case"wantadvise":case"boolean":case"error":case"text":case"ole":case"noautorecover":case"publishobjects":case"donotcalculatebeforesave":case"number":case"refmoder1c1":case"embedsavesmarttags":break;default:te=!1}break;case"workbookoptions":switch(n[3]){case"owcversion":case"height":case"width":break;default:te=!1}break;case"worksheetoptions":switch(n[3]){case"visible":if("/>"===n[0].slice(-2));else if("/"===n[1])switch(a.slice(N,n.index)){case"SheetHidden":j.Hidden=1;break;case"SheetVeryHidden":j.Hidden=2}else N=n.index+n[0].length;break;case"header":g["!margins"]||qo(g["!margins"]={},"xlml"),isNaN(+bt(n[0]).Margin)||(g["!margins"].header=+bt(n[0]).Margin);break;case"footer":g["!margins"]||qo(g["!margins"]={},"xlml"),isNaN(+bt(n[0]).Margin)||(g["!margins"].footer=+bt(n[0]).Margin);break;case"pagemargins":var re=bt(n[0]);g["!margins"]||qo(g["!margins"]={},"xlml"),isNaN(+re.Top)||(g["!margins"].top=+re.Top),isNaN(+re.Left)||(g["!margins"].left=+re.Left),isNaN(+re.Right)||(g["!margins"].right=+re.Right),isNaN(+re.Bottom)||(g["!margins"].bottom=+re.Bottom);break;case"displayrighttoleft":G.Views||(G.Views=[]),G.Views[0]||(G.Views[0]={}),G.Views[0].RTL=!0;break;case"freezepanes":case"frozennosplit":case"splithorizontal":case"splitvertical":case"donotdisplaygridlines":case"activerow":case"activecol":case"toprowbottompane":case"leftcolumnrightpane":case"unsynced":case"print":case"printerrors":case"panes":case"scale":case"pane":case"number":case"layout":case"pagesetup":case"selected":case"protectobjects":case"enableselection":case"protectscenarios":case"validprinterinfo":case"horizontalresolution":case"verticalresolution":case"numberofcopies":case"activepane":case"toprowvisible":case"leftcolumnvisible":case"fittopage":case"rangeselection":case"papersizeindex":case"pagelayoutzoom":case"pagebreakzoom":case"filteron":case"fitwidth":case"fitheight":case"commentslayout":case"zoom":case"lefttoright":case"gridlines":case"allowsort":case"allowfilter":case"allowinsertrows":case"allowdeleterows":case"allowinsertcols":case"allowdeletecols":case"allowinserthyperlinks":case"allowformatcells":case"allowsizecols":case"allowsizerows":case"tabcolorindex":case"donotdisplayheadings":case"showpagelayoutzoom":case"blackandwhite":case"donotdisplayzeros":case"displaypagebreak":case"rowcolheadings":case"donotdisplayoutline":case"noorientation":case"allowusepivottables":case"zeroheight":case"viewablerange":case"selection":case"protectcontents":break;case"nosummaryrowsbelowdetail":g["!outline"]||(g["!outline"]={}),g["!outline"].above=!0;break;case"nosummarycolumnsrightdetail":g["!outline"]||(g["!outline"]={}),g["!outline"].left=!0;break;default:te=!1}break;case"pivottable":case"pivotcache":switch(n[3]){case"immediateitemsondrop":case"showpagemultipleitemlabel":case"compactrowindent":case"location":case"pivotfield":case"orientation":case"layoutform":case"layoutsubtotallocation":case"layoutcompactrow":case"position":case"pivotitem":case"datatype":case"datafield":case"sourcename":case"parentfield":case"ptlineitems":case"ptlineitem":case"countofsameitems":case"item":case"itemtype":case"ptsource":case"cacheindex":case"consolidationreference":case"filename":case"reference":case"nocolumngrand":case"norowgrand":case"blanklineafteritems":case"hidden":case"subtotal":case"basefield":case"mapchilditems":case"function":case"refreshonfileopen":case"printsettitles":case"mergelabels":case"defaultversion":case"refreshname":case"refreshdate":case"refreshdatecopy":case"versionlastrefresh":case"versionlastupdate":case"versionupdateablemin":case"versionrefreshablemin":case"calculation":break;default:te=!1}break;case"pagebreaks":switch(n[3]){case"colbreaks":case"colbreak":case"rowbreaks":case"rowbreak":case"colstart":case"colend":case"rowend":break;default:te=!1}break;case"autofilter":switch(n[3]){case"autofiltercolumn":case"autofiltercondition":case"autofilterand":case"autofilteror":break;default:te=!1}break;case"querytable":switch(n[3]){case"id":case"autoformatfont":case"autoformatpattern":case"querysource":case"querytype":case"enableredirections":case"refreshedinxl9":case"urlstring":case"htmltables":case"connection":case"commandtext":case"refreshinfo":case"notitles":case"nextid":case"columninfo":case"overwritecells":case"donotpromptforfile":case"textwizardsettings":case"source":case"number":case"decimal":case"thousandseparator":case"trailingminusnumbers":case"formatsettings":case"fieldtype":case"delimiters":case"tab":case"comma":case"autoformatname":case"versionlastedit":case"versionlastrefresh":break;default:te=!1}break;case"datavalidation":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":case"cellrangelist":break;default:te=!1}break;case"sorting":case"conditionalformatting":switch(n[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"cellrangelist":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":break;default:te=!1}break;case"mapinfo":case"schema":case"data":switch(n[3]){case"map":case"entry":case"range":case"xpath":case"field":case"xsdtype":case"filteron":case"aggregate":case"elementtype":case"attributetype":case"schema":case"element":case"complextype":case"datatype":case"all":case"attribute":case"extends":case"row":break;default:te=!1}break;case"smarttags":break;default:te=!1}if(te)break;if(n[3].match(/!\[CDATA/))break;if(!f[f.length-1][1])throw"Unrecognized tag: "+n[3]+"|"+f.join("|");if("customdocumentproperties"===f[f.length-1][0]){if("/>"===n[0].slice(-2))break;"/"===n[1]?Jc(I,X,F,a.slice(N,n.index)):(F=n,N=n.index+n[0].length);break}if(r.WTF)throw"Unrecognized tag: "+n[3]+"|"+f.join("|")}var ae={};return r.bookSheets||r.bookProps||(ae.Sheets=u),ae.SheetNames=m,ae.Workbook=G,ae.SSF=Ye(H),ae.Props=R,ae.Custprops=I,ae}function tl(e,t){switch(uf(t=t||{}),t.type||"base64"){case"base64":return el(T(e),t);case"binary":case"buffer":case"file":return el(e,t);case"array":return el(x(e),t)}}function rl(e){return Xt("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+eo(e.Ref,{r:0,c:0})})}function al(e,t,r,a,n,s,i){if(!e||null==e.v&&null==e.f)return"";var o={};if(e.f&&(o["ss:Formula"]="="+_t(eo(e.f,i))),e.F&&e.F.slice(0,t.length)==t){var c=qr(e.F.slice(t.length+1));o["ss:ArrayRange"]="RC:R"+(c.r==i.r?"":"["+(c.r-i.r)+"]")+"C"+(c.c==i.c?"":"["+(c.c-i.c)+"]")}if(e.l&&e.l.Target&&(o["ss:HRef"]=_t(e.l.Target),e.l.Tooltip&&(o["x:HRefScreenTip"]=_t(e.l.Tooltip))),r["!merges"])for(var l=r["!merges"],f=0;f!=l.length;++f)l[f].s.c==i.c&&l[f].s.r==i.r&&(l[f].e.c>l[f].s.c&&(o["ss:MergeAcross"]=l[f].e.c-l[f].s.c),l[f].e.r>l[f].s.r&&(o["ss:MergeDown"]=l[f].e.r-l[f].s.r));var h="",u="";switch(e.t){case"z":if(!a.sheetStubs)return"";break;case"n":h="Number",u=String(e.v);break;case"b":h="Boolean",u=e.v?"1":"0";break;case"e":h="Error",u=Wa[e.v];break;case"d":h="DateTime",u=new Date(e.v).toISOString(),null==e.z&&(e.z=e.z||H[14]);break;case"s":h="String",u=((e.v||"")+"").replace(St,function(e){return Et[e]}).replace(xt,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var d=Zo(a.cellXfs,e,a);o["ss:StyleID"]="s"+(21+d),o["ss:Index"]=i.c+1;var p=null!=e.v?u:"",m="z"==e.t?"":''+p+"";return(e.c||[]).length>0&&(m+=e.c.map(function(e){var t=Xt("ss:Data",(e.t||"").replace(/(\r\n|[\r\n])/g," "),{xmlns:"http://www.w3.org/TR/REC-html40"});return Xt("Comment",t,{"ss:Author":e.a})}).join("")),Xt("Cell",m,o)}function nl(e,t){var r='"}function sl(e,t,r){var a=[],n=r.SheetNames[e],s=r.Sheets[n],i=s?function(e,t,r,a){if(!e)return"";if(!((a||{}).Workbook||{}).Names)return"";for(var n=a.Workbook.Names,s=[],i=0;i0&&a.push(""+i+""),i=s?function(e,t){if(!e["!ref"])return"";var r=ta(e["!ref"]),a=e["!merges"]||[],n=0,s=[];e["!cols"]&&e["!cols"].forEach(function(e,t){di(e);var r=!!e.width,a=Jo(t,e),n={"ss:Index":t+1};r&&(n["ss:Width"]=ci(a.width)),e.hidden&&(n["ss:Hidden"]="1"),s.push(Xt("Column",null,n))});for(var i=Array.isArray(e),o=r.s.r;o<=r.e.r;++o){for(var c=[nl(o,(e["!rows"]||[])[o])],l=r.s.c;l<=r.e.c;++l){var f=!1;for(n=0;n!=a.length;++n)if(!(a[n].s.c>l||a[n].s.r>o||a[n].e.c"),c.length>2&&s.push(c.join(""))}return s.join("")}(s,t):"",i.length>0&&a.push("
"+i+"
"),a.push(function(e,t,r,a){if(!e)return"";var n=[];if(e["!margins"]&&(n.push(""),e["!margins"].header&&n.push(Xt("Header",null,{"x:Margin":e["!margins"].header})),e["!margins"].footer&&n.push(Xt("Footer",null,{"x:Margin":e["!margins"].footer})),n.push(Xt("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"})),n.push("")),a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[r])if(a.Workbook.Sheets[r].Hidden)n.push(Xt("Visible",1==a.Workbook.Sheets[r].Hidden?"SheetHidden":"SheetVeryHidden",{}));else{for(var s=0;s")}return((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL&&n.push(""),e["!protect"]&&(n.push(Gt("ProtectContents","True")),e["!protect"].objects&&n.push(Gt("ProtectObjects","True")),e["!protect"].scenarios&&n.push(Gt("ProtectScenarios","True")),null==e["!protect"].selectLockedCells||e["!protect"].selectLockedCells?null==e["!protect"].selectUnlockedCells||e["!protect"].selectUnlockedCells||n.push(Gt("EnableSelection","UnlockedCells")):n.push(Gt("EnableSelection","NoSelection")),[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(t){e["!protect"][t[0]]&&n.push("<"+t[1]+"/>")})),0==n.length?"":Xt("WorksheetOptions",n.join(""),{xmlns:ar})}(s,0,e,r)),a.join("")}function il(e,t){t||(t={}),e.SSF||(e.SSF=Ye(H)),e.SSF&&(ye(),Ee(e.SSF),t.revssf=Pe(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF,t.cellXfs=[],Zo(t.cellXfs,{},{revssf:{General:0}}));var r=[];r.push(function(e,t){var r=[];return e.Props&&r.push(function(e,t){var r=[];return Ne(un).map(function(e){for(var t=0;t'+n.join("")+""}(e.Props,e.Custprops)),r.join("")}(e,t)),r.push(""),r.push(""),r.push("");for(var a=0;a'];return t.cellXfs.forEach(function(e,t){var a=[];a.push(Xt("NumberFormat",null,{"ss:Format":_t(H[e.numFmtId])}));var n={"ss:ID":"s"+(21+t)};r.push(Xt("Style",a.join(""),n))}),Xt("Styles",r.join(""))}(0,t),r[3]=function(e){if(!((e||{}).Workbook||{}).Names)return"";for(var t=e.Workbook.Names,r=[],a=0;a0)switch(e){case 9:case 521:case 1033:case 2057:case 47:case 405:case 225:case 406:case 312:case 404:case 10:case 133:break;default:n.enc.insitu(o)}i.push(o),r.l+=s;for(var c=Cr(r,r.l),l=ml[c],f=0;null!=l&&ol.indexOf(c)>-1;)s=Cr(r,r.l+2),f=r.l+4,2066==c?f+=4:2165!=c&&2175!=c||(f+=12),o=r.slice(f,r.l+4+s),i.push(o),r.l+=4+s,l=ml[c=Cr(r,r.l)];var h=O(i);Mr(h,0);var u=0;h.lens=[];for(var d=0;d40||(r.l-=4,t.Reserved1=r.read_shift(0,"lpstr-ansi"),r.length-r.l<=4||1907505652!==(a=r.read_shift(4))||(t.UnicodeClipboardFormat=function(e){return Ia(e,2)}(r),0==(a=r.read_shift(4))||a>40||(r.l-=4,t.Reserved2=r.read_shift(0,"lpwstr"))))}(r),t.bookProps&&!t.bookSheets)n={};else{var i=E?"buffer":"array";if(a&&a.content)n=function(e,t){var r,a,n,s,i,o,c,f,h={opts:{}},u={},d=t.dense?[]:{},p={},m={},g=null,v=[],b="",w={},T="",E={},y=[],S=[],k=[],_={Sheets:[],WBProps:{date1904:!1},Views:[{}]},A={},x=function(e){return e<8?Ba[e]:e<64&&k[e-8]||Ba[e]},C=function(e,t,a){if(!(U>1||a.sheetRows&&e.r>=a.sheetRows)){if(a.cellStyles&&t.XF&&t.XF.data&&function(e,t,r){var a,n=t.XF.data;n&&n.patternType&&r&&r.cellStyles&&(t.s={},t.s.patternType=n.patternType,(a=si(x(n.icvFore)))&&(t.s.fgColor={rgb:a}),(a=si(x(n.icvBack)))&&(t.s.bgColor={rgb:a}))}(0,t,a),delete t.ixfe,delete t.XF,r=e,T=Zr(e),m&&m.s&&m.e||(m={s:{r:0,c:0},e:{r:0,c:0}}),e.rm.e.r&&(m.e.r=e.r+1),e.c+1>m.e.c&&(m.e.c=e.c+1),a.cellFormula&&t.f)for(var n=0;ne.c||y[n][0].s.r>e.r||y[n][0].e.c>8)!==j)throw new Error("rt mismatch: "+Y+"!="+j);12==$.r&&(e.l+=10,X-=10)}var K={};if(K=10===j?$.f(e,X,O):cl(j,$,e,X,O),0==U&&-1===[9,521,1033,2057].indexOf(M))continue;switch(j){case 34:h.opts.Date1904=_.WBProps.date1904=K;break;case 134:h.opts.WriteProtect=!0;break;case 47:if(O.enc||(e.l=0),O.enc=K,!t.password)throw new Error("File is password-protected");if(null==K.valid)throw new Error("Encryption scheme unsupported");if(!K.valid)throw new Error("Password is incorrect");break;case 92:O.lastuser=K;break;case 66:var J=Number(K);switch(J){case 21010:J=1200;break;case 32768:J=1e4;break;case 32769:J=1252}l(O.codepage=J),V=!0;break;case 317:O.rrtabid=K;break;case 25:O.winlocked=K;break;case 439:h.opts.RefreshAll=K;break;case 12:h.opts.CalcCount=K;break;case 16:h.opts.CalcDelta=K;break;case 17:h.opts.CalcIter=K;break;case 13:h.opts.CalcMode=K;break;case 14:h.opts.CalcPrecision=K;break;case 95:h.opts.CalcSaveRecalc=K;break;case 15:O.CalcRefMode=K;break;case 2211:h.opts.FullCalc=K;break;case 129:K.fDialog&&(d["!type"]="dialog"),K.fBelow||((d["!outline"]||(d["!outline"]={})).above=!0),K.fRight||((d["!outline"]||(d["!outline"]={})).left=!0);break;case 224:S.push(K);break;case 430:P.push([K]),P[P.length-1].XTI=[];break;case 35:case 547:P[P.length-1].push(K);break;case 24:case 536:L={Name:K.Name,Ref:Ro(K.rgce,0,null,P,O)},K.itab>0&&(L.Sheet=K.itab-1),P.names.push(L),P[0]||(P[0]=[],P[0].XTI=[]),P[P.length-1].push(K),"_xlnm._FilterDatabase"==K.Name&&K.itab>0&&K.rgce&&K.rgce[0]&&K.rgce[0][0]&&"PtgArea3d"==K.rgce[0][0][0]&&(z[K.itab-1]={ref:ea(K.rgce[0][0][1][2])});break;case 22:O.ExternCount=K;break;case 23:0==P.length&&(P[0]=[],P[0].XTI=[]),P[P.length-1].XTI=P[P.length-1].XTI.concat(K),P.XTI=P.XTI.concat(K);break;case 2196:if(O.biff<8)break;null!=L&&(L.Comment=K[1]);break;case 18:d["!protect"]=K;break;case 19:0!==K&&O.WTF&&console.error("Password verifier: "+K);break;case 133:p[K.pos]=K,O.snames.push(K.name);break;case 10:if(--U)break;if(m.e){if(m.e.r>0&&m.e.c>0){if(m.e.r--,m.e.c--,d["!ref"]=ea(m),t.sheetRows&&t.sheetRows<=m.e.r){var q=m.e.r;m.e.r=t.sheetRows-1,d["!fullref"]=d["!ref"],d["!ref"]=ea(m),m.e.r=q}m.e.r++,m.e.c++}R.length>0&&(d["!merges"]=R),I.length>0&&(d["!objects"]=I),N.length>0&&(d["!cols"]=N),F.length>0&&(d["!rows"]=F),_.Sheets.push(A)}""===b?w=d:u[b]=d,d=t.dense?[]:{};break;case 9:case 521:case 1033:case 2057:if(8===O.biff&&(O.biff={9:2,521:3,1033:4}[j]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[K.BIFFVer]||8),O.biffguess=0==K.BIFFVer,0==K.BIFFVer&&4096==K.dt&&(O.biff=5,V=!0,l(O.codepage=28591)),8==O.biff&&0==K.BIFFVer&&16==K.dt&&(O.biff=2),U++)break;if(d=t.dense?[]:{},O.biff<8&&!V&&(V=!0,l(O.codepage=t.codepage||1252)),O.biff<5||0==K.BIFFVer&&4096==K.dt){""===b&&(b="Sheet1"),m={s:{r:0,c:0},e:{r:0,c:0}};var Z={pos:e.l-X,name:b};p[Z.pos]=Z,O.snames.push(b)}else b=(p[G]||{name:""}).name;32==K.dt&&(d["!type"]="chart"),64==K.dt&&(d["!type"]="macro"),R=[],I=[],O.arrayf=y=[],N=[],F=[],D=!1,A={Hidden:(p[G]||{hs:0}).hs,name:b};break;case 515:case 3:case 2:"chart"==d["!type"]&&(t.dense?(d[K.r]||[])[K.c]:d[Zr({c:K.c,r:K.r})])&&++K.c,o={ixfe:K.ixfe,XF:S[K.ixfe]||{},v:K.val,t:"n"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 5:case 517:o={ixfe:K.ixfe,XF:S[K.ixfe],v:K.val,t:K.t},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 638:o={ixfe:K.ixfe,XF:S[K.ixfe],v:K.rknum,t:"n"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 189:for(var Q=K.c;Q<=K.C;++Q){var ee=K.rkrec[Q-K.c][0];o={ixfe:ee,XF:S[ee],v:K.rkrec[Q-K.c][1],t:"n"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:Q,r:K.r},o,t)}break;case 6:case 518:case 1030:if("String"==K.val){g=K;break}if((o=fl(K.val,K.cell.ixfe,K.tt)).XF=S[o.ixfe],t.cellFormula){var te=K.formula;if(te&&te[0]&&te[0][0]&&"PtgExp"==te[0][0][0]){var re=te[0][0][1][0],ae=te[0][0][1][1],ne=Zr({r:re,c:ae});E[ne]?o.f=""+Ro(K.formula,0,K.cell,P,O):o.F=((t.dense?(d[re]||[])[ae]:d[ne])||{}).F}else o.f=""+Ro(K.formula,0,K.cell,P,O)}B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C(K.cell,o,t),g=K;break;case 7:case 519:if(!g)throw new Error("String record expects Formula");g.val=K,(o=fl(K,g.cell.ixfe,"s")).XF=S[o.ixfe],t.cellFormula&&(o.f=""+Ro(g.formula,0,g.cell,P,O)),B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C(g.cell,o,t),g=null;break;case 33:case 545:y.push(K);var se=Zr(K[0].s);if(a=t.dense?(d[K[0].s.r]||[])[K[0].s.c]:d[se],t.cellFormula&&a){if(!g)break;if(!se||!a)break;a.f=""+Ro(K[1],0,K[0],P,O),a.F=ea(K[0])}break;case 1212:if(!t.cellFormula)break;if(T){if(!g)break;E[Zr(g.cell)]=K[0],((a=t.dense?(d[g.cell.r]||[])[g.cell.c]:d[Zr(g.cell)])||{}).f=""+Ro(K[0],0,r,P,O)}break;case 253:o=fl(v[K.isst].t,K.ixfe,"s"),v[K.isst].h&&(o.h=v[K.isst].h),o.XF=S[o.ixfe],B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 513:t.sheetStubs&&(o={ixfe:K.ixfe,XF:S[K.ixfe],t:"z"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t));break;case 190:if(t.sheetStubs)for(var ie=K.c;ie<=K.C;++ie){var oe=K.ixfe[ie-K.c];o={ixfe:oe,XF:S[oe],t:"z"},B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:ie,r:K.r},o,t)}break;case 214:case 516:case 4:(o=fl(K.val,K.ixfe,"s")).XF=S[o.ixfe],B>0&&(o.z=W[o.ixfe>>8&63]),ll(o,t,h.opts.Date1904),C({c:K.c,r:K.r},o,t);break;case 0:case 512:1===U&&(m=K);break;case 252:v=K;break;case 1054:if(4==O.biff){W[B++]=K[1];for(var ce=0;ce=163&&Te(K[1],B+163)}else Te(K[1],K[0]);break;case 30:W[B++]=K;for(var le=0;le=163&&Te(K,B+163);break;case 229:R=R.concat(K);break;case 93:I[K.cmo[0]]=O.lastobj=K;break;case 438:O.lastobj.TxO=K;break;case 127:O.lastobj.ImData=K;break;case 440:for(i=K[0].s.r;i<=K[0].e.r;++i)for(s=K[0].s.c;s<=K[0].e.c;++s)(a=t.dense?(d[i]||[])[s]:d[Zr({c:s,r:i})])&&(a.l=K[1]);break;case 2048:for(i=K[0].s.r;i<=K[0].e.r;++i)for(s=K[0].s.c;s<=K[0].e.c;++s)(a=t.dense?(d[i]||[])[s]:d[Zr({c:s,r:i})])&&a.l&&(a.l.Tooltip=K[1]);break;case 28:if(O.biff<=5&&O.biff>=2)break;a=t.dense?(d[K[0].r]||[])[K[0].c]:d[Zr(K[0])];var fe=I[K[2]];a||(t.dense?(d[K[0].r]||(d[K[0].r]=[]),a=d[K[0].r][K[0].c]={t:"z"}):a=d[Zr(K[0])]={t:"z"},m.e.r=Math.max(m.e.r,K[0].r),m.s.r=Math.min(m.s.r,K[0].r),m.e.c=Math.max(m.e.c,K[0].c),m.s.c=Math.min(m.s.c,K[0].c)),a.c||(a.c=[]),n={a:K[1],t:fe.TxO.t},a.c.push(n);break;case 2173:Hi(S[K.ixfe],K.ext);break;case 125:if(!O.cellStyles)break;for(;K.e>=K.s;)N[K.e--]={width:K.w/256,level:K.level||0,hidden:!!(1&K.flags)},D||(D=!0,ui(K.w/256)),di(N[K.e+1]);break;case 520:var he={};null!=K.level&&(F[K.r]=he,he.level=K.level),K.hidden&&(F[K.r]=he,he.hidden=!0),K.hpt&&(F[K.r]=he,he.hpt=K.hpt,he.hpx=mi(K.hpt));break;case 38:case 39:case 40:case 41:d["!margins"]||qo(d["!margins"]={}),d["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[j]]=K;break;case 161:d["!margins"]||qo(d["!margins"]={}),d["!margins"].header=K.header,d["!margins"].footer=K.footer;break;case 574:K.RTL&&(_.Views[0].RTL=!0);break;case 146:k=K;break;case 2198:f=K;break;case 140:c=K;break;case 442:b?A.CodeName=K||A.name:_.WBProps.CodeName=K||"ThisWorkbook"}}else $||console.error("Missing Info for XLS Record 0x"+j.toString(16)),e.l+=X}return h.SheetNames=Ne(p).sort(function(e,t){return Number(e)-Number(t)}).map(function(e){return p[e].name}),t.bookSheets||(h.Sheets=u),!h.SheetNames.length&&w["!ref"]?(h.SheetNames.push("Sheet1"),h.Sheets&&(h.Sheets.Sheet1=w)):h.Preamble=w,h.Sheets&&z.forEach(function(e,t){h.Sheets[h.SheetNames[t]]["!autofilter"]=e}),h.Strings=v,h.SSF=Ye(H),O.enc&&(h.Encryption=O.enc),f&&(h.Themes=f),h.Metadata={},void 0!==c&&(h.Metadata.Country=c),P.names.length>0&&(_.Names=P.names),h.Workbook=_,h}(a.content,t);else if((s=xe.find(e,"PerfectOffice_MAIN"))&&s.content)n=Ds.to_workbook(s.content,(t.type=i,t));else{if(!(s=xe.find(e,"NativeContent_MAIN"))||!s.content)throw(s=xe.find(e,"MN0"))&&s.content?new Error("Unsupported Works 4 for Mac file"):new Error("Cannot find Workbook stream");n=Ds.to_workbook(s.content,(t.type=i,t))}t.bookVBA&&e.FullPaths&&xe.find(e,"/_VBA_PROJECT_CUR/VBA/dir")&&(n.vbaraw=function(e){var t=xe.utils.cfb_new({root:"R"});return e.FullPaths.forEach(function(r,a){if("/"!==r.slice(-1)&&r.match(/_VBA_PROJECT_CUR/)){var n=r.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");xe.utils.cfb_add(t,n,e.FileIndex[a].content)}}),xe.write(t)}(e))}var o={};return e.FullPaths&&function(e,t,r){var a=xe.find(e,"/!DocumentSummaryInformation");if(a&&a.size>0)try{var n=Cn(a,Da,ul);for(var s in n)t[s]=n[s]}catch(e){if(r.WTF)throw e}var i=xe.find(e,"/!SummaryInformation");if(i&&i.size>0)try{var o=Cn(i,Pa,hl);for(var c in o)null==t[c]&&(t[c]=o[c])}catch(e){if(r.WTF)throw e}t.HeadingPairs&&t.TitlesOfParts&&(on(t.HeadingPairs,t.TitlesOfParts,t,r),delete t.HeadingPairs,delete t.TitlesOfParts)}(e,o,t),n.Props=n.Custprops=o,t.bookFiles&&(n.cfb=e),n}var pl={0:{f:function(e,t){var r={},a=e.l+t;r.r=e.read_shift(4),e.l+=4;var n=e.read_shift(2);e.l+=1;var s=e.read_shift(1);return e.l=a,7&s&&(r.level=7&s),16&s&&(r.hidden=!0),32&s&&(r.hpt=n/20),r}},1:{f:function(e){return[ua(e)]}},2:{f:function(e){return[ua(e),Sa(e),"n"]}},3:{f:function(e){return[ua(e),e.read_shift(1),"e"]}},4:{f:function(e){return[ua(e),e.read_shift(1),"b"]}},5:{f:function(e){return[ua(e),Ca(e),"n"]}},6:{f:function(e){return[ua(e),oa(e),"str"]}},7:{f:function(e){return[ua(e),e.read_shift(4),"s"]}},8:{f:function(e,t,r){var a=e.l+t,n=ua(e);n.r=r["!row"];var s=[n,oa(e),"str"];if(r.cellFormula){e.l+=2;var i=Lo(e,a-e.l,r);s[3]=Ro(i,0,n,r.supbooks,r)}else e.l=a;return s}},9:{f:function(e,t,r){var a=e.l+t,n=ua(e);n.r=r["!row"];var s=[n,Ca(e),"n"];if(r.cellFormula){e.l+=2;var i=Lo(e,a-e.l,r);s[3]=Ro(i,0,n,r.supbooks,r)}else e.l=a;return s}},10:{f:function(e,t,r){var a=e.l+t,n=ua(e);n.r=r["!row"];var s=[n,e.read_shift(1),"b"];if(r.cellFormula){e.l+=2;var i=Lo(e,a-e.l,r);s[3]=Ro(i,0,n,r.supbooks,r)}else e.l=a;return s}},11:{f:function(e,t,r){var a=e.l+t,n=ua(e);n.r=r["!row"];var s=[n,e.read_shift(1),"e"];if(r.cellFormula){e.l+=2;var i=Lo(e,a-e.l,r);s[3]=Ro(i,0,n,r.supbooks,r)}else e.l=a;return s}},12:{f:function(e){return[pa(e)]}},13:{f:function(e){return[pa(e),Sa(e),"n"]}},14:{f:function(e){return[pa(e),e.read_shift(1),"e"]}},15:{f:function(e){return[pa(e),e.read_shift(1),"b"]}},16:{f:Ec},17:{f:function(e){return[pa(e),oa(e),"str"]}},18:{f:function(e){return[pa(e),e.read_shift(4),"s"]}},19:{f:fa},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:function(e,t,r){var a=e.l+t;e.l+=4,e.l+=1;var n=e.read_shift(4),s=Ta(e),i=Mo(e,0,r),o=ba(e);e.l=a;var c={Name:s,Ptg:i};return n<268435455&&(c.Sheet=n),o&&(c.Comment=o),c}},40:{},42:{},43:{f:function(e,t,r){var a={};a.sz=e.read_shift(2)/20;var n=function(e){var t=e.read_shift(1);return e.l++,{fBold:1&t,fItalic:2&t,fUnderline:4&t,fStrikeout:8&t,fOutline:16&t,fShadow:32&t,fCondense:64&t,fExtend:128&t}}(e);switch(n.fItalic&&(a.italic=1),n.fCondense&&(a.condense=1),n.fExtend&&(a.extend=1),n.fShadow&&(a.shadow=1),n.fOutline&&(a.outline=1),n.fStrikeout&&(a.strike=1),700===e.read_shift(2)&&(a.bold=1),e.read_shift(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript"}var s=e.read_shift(1);0!=s&&(a.underline=s);var i=e.read_shift(1);i>0&&(a.family=i);var o=e.read_shift(1);switch(o>0&&(a.charset=o),e.l++,a.color=function(e){var t={},r=e.read_shift(1)>>>1,a=e.read_shift(1),n=e.read_shift(2,"i"),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(1);switch(e.l++,r){case 0:t.auto=1;break;case 1:t.index=a;var c=Ba[a];c&&(t.rgb=si(c));break;case 2:t.rgb=si([s,i,o]);break;case 3:t.theme=a}return 0!=n&&(t.tint=n>0?n/32767:n/32768),t}(e),e.read_shift(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor"}return a.name=oa(e),a}},44:{f:function(e,t){return[e.read_shift(2),oa(e)]}},45:{f:ki},46:{f:Ci},47:{f:function(e,t){var r=e.l+t,a=e.read_shift(2),n=e.read_shift(2);return e.l=r,{ixfe:a,numFmtId:n}}},48:{},49:{f:function(e){return e.read_shift(4,"i")}},50:{},51:{f:function(e){for(var t=[],r=e.read_shift(4);r-- >0;)t.push([e.read_shift(4),e.read_shift(4)]);return t}},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:ks},62:{f:function(e){return[ua(e),fa(e),"is"]}},63:{f:function(e){var t={};t.i=e.read_shift(4);var r={};r.r=e.read_shift(4),r.c=e.read_shift(4),t.r=Zr(r);var a=e.read_shift(1);return 2&a&&(t.l="1"),8&a&&(t.a="1"),t}},64:{f:function(){}},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Ur,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:function(e){var t=e.read_shift(2);return e.l+=28,{RTL:32&t}}},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:function(e,t){var r={},a=e[e.l];return++e.l,r.above=!(64&a),r.left=!(128&a),e.l+=18,r.name=ga(e,t-19),r}},148:{f:wc,p:16},151:{f:function(){}},152:{},153:{f:function(e,t){var r={},a=e.read_shift(4);r.defaultThemeVersion=e.read_shift(4);var n=t>8?oa(e):"";return n.length>0&&(r.CodeName=n),r.autoCompressPictures=!!(65536&a),r.backupFile=!!(64&a),r.checkCompatibility=!!(4096&a),r.date1904=!!(1&a),r.filterPrivacy=!!(8&a),r.hidePivotFieldList=!!(1024&a),r.promptedSolutions=!!(16&a),r.publishItems=!!(2048&a),r.refreshAllConnections=!!(262144&a),r.saveExternalLinkValues=!!(128&a),r.showBorderUnselectedTables=!!(4&a),r.showInkAnnotation=!!(32&a),r.showObjects=["all","placeholders","none"][a>>13&3],r.showPivotChartFilter=!!(32768&a),r.updateLinks=["userSet","never","always"][a>>8&3],r}},154:{},155:{},156:{f:function(e,t){var r={};return r.Hidden=e.read_shift(4),r.iTabID=e.read_shift(4),r.strRelID=Ea(e,t-8),r.name=oa(e),r}},157:{},158:{},159:{T:1,f:function(e){return[e.read_shift(4),e.read_shift(4)]}},160:{T:-1},161:{T:1,f:Aa},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:yc},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:function(e,t){return{flags:e.read_shift(4),version:e.read_shift(4),name:oa(e)}}},336:{T:-1},337:{f:function(e){return e.l+=4,0!=e.read_shift(4)},T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Ea},357:{},358:{},359:{},360:{T:1},361:{},362:{f:ws},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:function(e,t,r){var a=e.l+t,n=_a(e),s=e.read_shift(1),i=[n];if(i[2]=s,r.cellFormula){var o=Po(e,a-e.l,r);i[1]=o}else e.l=a;return i}},427:{f:function(e,t,r){var a=e.l+t,n=[Aa(e,16)];if(r.cellFormula){var s=Uo(e,a-e.l,r);n[1]=s,e.l=a}else e.l=a;return n}},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:function(e){var t={};return kc.forEach(function(r){t[r]=Ca(e)}),t}},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:function(){}},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:function(e,t){var r=e.l+t,a=Aa(e,16),n=ba(e),s=oa(e),i=oa(e),o=oa(e);e.l=r;var c={rfx:a,relId:n,loc:s,display:o};return i&&(c.Tooltip=i),c}},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Ea},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:Ki},633:{T:1},634:{T:-1},635:{T:1,f:function(e){var t={};t.iauthor=e.read_shift(4);var r=Aa(e,16);return t.rfx=r.s,t.ref=Zr(r.s),e.l+=16,t}},636:{T:-1},637:{f:ha},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:function(e,t){return e.l+=10,{name:oa(e)}}},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:function(){}},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}},ml={6:{f:Fo},10:{f:Rn},12:{f:Fn},13:{f:Fn},14:{f:In},15:{f:In},16:{f:Ca},17:{f:In},18:{f:In},19:{f:Fn},20:{f:ms},21:{f:ms},23:{f:ws},24:{f:bs},25:{f:In},26:{},27:{},28:{f:function(e,t,r){return function(e,t,r){if(!(r.biff<8)){var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2),i=e.read_shift(2),o=zn(e,0,r);return r.biff<8&&e.read_shift(1),[{r:a,c:n},o,i,s]}}(e,0,r)}},29:{},34:{f:In},35:{f:gs},38:{f:Ca},39:{f:Ca},40:{f:Ca},41:{f:Ca},42:{f:In},43:{f:In},47:{f:function(e,t,r){var a={Type:r.biff>=8?e.read_shift(2):0};return a.Type?function(e,t,r){var a=r||{};a.Info=e.read_shift(2),e.l-=2,1===a.Info?a.Data=function(e){var t={},r=t.EncryptionVersionInfo=Ks(e,4);if(1!=r.Major||1!=r.Minor)throw"unrecognized version code "+r.Major+" : "+r.Minor;return t.Salt=e.read_shift(16),t.EncryptedVerifier=e.read_shift(16),t.EncryptedVerifierHash=e.read_shift(16),t}(e):a.Data=function(e,t){var r={},a=r.EncryptionVersionInfo=Ks(e,4);if(t-=4,2!=a.Minor)throw new Error("unrecognized minor version code: "+a.Minor);if(a.Major>4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);r.Flags=e.read_shift(4),t-=4;var n=e.read_shift(4);return t-=4,r.EncryptionHeader=qs(e,n),t-=n,r.EncryptionVerifier=Zs(e,t),r}(e,t)}(e,t-2,a):function(e,t,r,a){var n,s,i,o={key:Fn(e),verificationBytes:Fn(e)};r.password&&(o.verifier=ri(r.password)),a.valid=o.verificationBytes===o.verifier,a.valid&&(a.insitu=(n=r.password,s=0,i=ai(n),function(e){var t=function(e,t,r,a,n){var s,i;for(n||(n=t),a||(a=ai("")),s=0;s!=t.length;++s)i=t[s],i=255&((i^=a[r])>>5|i<<3),n[s]=i,++r;return[n,r,a]}(0,e,s,i);return s=t[1],t[0]}))}(e,r.biff,r,a),a}},49:{f:function(e,t,r){var a={dyHeight:e.read_shift(2),fl:e.read_shift(2)};switch(r&&r.biff||8){case 2:break;case 3:case 4:e.l+=2;break;default:e.l+=10}return a.name=Mn(e,0,r),a}},51:{f:Fn},60:{},61:{f:function(e){return{Pos:[e.read_shift(2),e.read_shift(2)],Dim:[e.read_shift(2),e.read_shift(2)],Flags:e.read_shift(2),CurTab:e.read_shift(2),FirstTab:e.read_shift(2),Selected:e.read_shift(2),TabRatio:e.read_shift(2)}}},64:{f:In},65:{f:function(){}},66:{f:Fn},77:{},80:{},81:{},82:{},85:{f:Fn},89:{},90:{},91:{},92:{f:function(e,t,r){if(r.enc)return e.l+=t,"";var a=e.l,n=zn(e,0,r);return e.read_shift(t+a-e.l),n}},93:{f:function(e,t,r){if(r&&r.biff<8)return function(e,t,r){e.l+=4;var a=e.read_shift(2),n=e.read_shift(2),s=e.read_shift(2);e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=6,t-=36;var i=[];return i.push((Es[a]||Ur)(e,t,r)),{cmo:[n,a,s],ft:i}}(e,t,r);var a=as(e),n=function(e,t){for(var r=e.l+t,a=[];e.l7||t[1]>7)throw new Error("Bad Gutters: "+t.join("|"));return t}},129:{f:function(e,t,r){var a=r&&8==r.biff||2==t?e.read_shift(2):(e.l+=t,0);return{fDialog:16&a,fBelow:64&a,fRight:128&a}}},130:{f:Fn},131:{f:In},132:{f:In},133:{f:function(e,t,r){var a=e.read_shift(4),n=3&e.read_shift(1),s=e.read_shift(1);switch(s){case 0:s="Worksheet";break;case 1:s="Macrosheet";break;case 2:s="Chartsheet";break;case 6:s="VBAModule"}var i=Mn(e,0,r);return 0===i.length&&(i="Sheet1"),{pos:a,hs:n,dt:s,name:i}}},134:{},140:{f:function(e){var t,r=[0,0];return t=e.read_shift(2),r[0]=La[t]||t,t=e.read_shift(2),r[1]=La[t]||t,r}},141:{f:Fn},144:{},146:{f:function(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(Yn(e));return r}},151:{},152:{},153:{},154:{},155:{},156:{f:Fn},157:{},158:{},160:{f:As},161:{f:function(e,t){var r={};return t<32||(e.l+=16,r.header=Ca(e),r.footer=Ca(e),e.l+=2),r}},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:function(e,t){for(var r=e.l+t-2,a=e.read_shift(2),n=e.read_shift(2),s=[];e.l>2&1,a.data=function(e,t,r,a){var n={},s=e.read_shift(4),i=e.read_shift(4),o=e.read_shift(4),c=e.read_shift(2);return n.patternType=Ma[o>>26],a.cellStyles?(n.alc=7&s,n.fWrap=s>>3&1,n.alcV=s>>4&7,n.fJustLast=s>>7&1,n.trot=s>>8&255,n.cIndent=s>>16&15,n.fShrinkToFit=s>>20&1,n.iReadOrder=s>>22&2,n.fAtrNum=s>>26&1,n.fAtrFnt=s>>27&1,n.fAtrAlc=s>>28&1,n.fAtrBdr=s>>29&1,n.fAtrPat=s>>30&1,n.fAtrProt=s>>31&1,n.dgLeft=15&i,n.dgRight=i>>4&15,n.dgTop=i>>8&15,n.dgBottom=i>>12&15,n.icvLeft=i>>16&127,n.icvRight=i>>23&127,n.grbitDiag=i>>30&3,n.icvTop=127&o,n.icvBottom=o>>7&127,n.icvDiag=o>>14&127,n.dgDiag=o>>21&15,n.icvFore=127&c,n.icvBack=c>>7&127,n.fsxButton=c>>14&1,n):n}(e,0,a.fStyle,r),a}},225:{f:function(e,t){return 0===t||e.read_shift(2),1200}},226:{f:Rn},227:{},229:{f:function(e,t){for(var r=[],a=e.read_shift(2);a--;)r.push(Qn(e));return r}},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:function(e,t){for(var r=e.l+t,a=e.read_shift(4),n=e.read_shift(4),s=[],i=0;i!=n&&e.l255)throw new Error("Unexpected SupBook type: "+s);for(var i=Wn(e,s),o=[];a>e.l;)o.push(Hn(e));return[s,n,i,o]}},431:{f:In},432:{},433:{},434:{},437:{},438:{f:function(e,t,r){var a=e.l,n="";try{e.l+=4;var s=(r.lastobj||{cmo:[0,0]}).cmo[1];-1==[0,5,7,11,12,14].indexOf(s)?e.l+=6:function(e){var t=e.read_shift(1);e.l++;var r=e.read_shift(2);e.l+=2}(e);var i=e.read_shift(2);e.read_shift(2),Fn(e);var o=e.read_shift(2);e.l+=o;for(var c=1;c=(l?i:2*i))break}if(n.length!==i&&n.length!==2*i)throw new Error("cchText: "+i+" != "+n.length);return e.l=a+t,{t:n}}catch(r){return e.l=a+t,{t:n}}}},439:{f:In},440:{f:function(e,t){var r=Qn(e);e.l+=16;var a=function(e,t){var r=e.l+t,a=e.read_shift(4);if(2!==a)throw new Error("Unrecognized streamVersion: "+a);var n=e.read_shift(2);e.l+=2;var s,i,o,c,l,f,h="";16&n&&(s=Gn(e,e.l)),128&n&&(i=Gn(e,e.l)),257&~n||(o=Gn(e,e.l)),1==(257&n)&&(c=function(e){var t=e.read_shift(16);switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return function(e){var t=e.read_shift(4),r=e.l,a=!1;t>24&&(e.l+=t-24,"795881f43b1d7f48af2c825dc4852763"===e.read_shift(16)&&(a=!0),e.l=r);var n=e.read_shift((a?t-24:t)>>1,"utf16le").replace(R,"");return a&&(e.l+=24),n}(e);case"0303000000000000c000000000000046":return function(e){for(var t=e.read_shift(2),r="";t-- >0;)r+="../";var a=e.read_shift(0,"lpstr-ansi");if(e.l+=2,57005!=e.read_shift(2))throw new Error("Bad FileMoniker");if(0===e.read_shift(4))return r+a.replace(/\\/g,"/");var n=e.read_shift(4);if(3!=e.read_shift(2))throw new Error("Bad FileMoniker");return r+e.read_shift(n>>1,"utf16le").replace(R,"")}(e);default:throw new Error("Unsupported Moniker "+t)}}(e,e.l)),8&n&&(h=Gn(e,e.l)),32&n&&(l=e.read_shift(16)),64&n&&(f=pn(e)),e.l=r;var u=i||o||c||"";u&&h&&(u+="#"+h),u||(u="#"+h),2&n&&"/"==u.charAt(0)&&"/"!=u.charAt(1)&&(u="file://"+u);var d={Target:u};return l&&(d.guid=l),f&&(d.time=f),s&&(d.Tooltip=s),d}(e,t-24);return[r,a]}},441:{},442:{f:Hn},443:{},444:{f:Fn},445:{},446:{},448:{f:Rn},449:{f:function(e){return e.read_shift(2),e.read_shift(4)},r:2},450:{f:Rn},512:{f:us},513:{f:_s},515:{f:function(e,t,r){r.biffguess&&2==r.biff&&(r.biff=5);var a=Kn(e),n=Ca(e);return a.val=n,a}},516:{f:function(e,t,r){r.biffguess&&2==r.biff&&(r.biff=5),e.l;var a=Kn(e);2==r.biff&&e.l++;var n=Hn(e,e.l,r);return a.val=n,a}},517:{f:ps},519:{f:xs},520:{f:function(e){var t={};t.r=e.read_shift(2),t.c=e.read_shift(2),t.cnt=e.read_shift(2)-t.c;var r=e.read_shift(2);e.l+=4;var a=e.read_shift(1);return e.l+=3,7&a&&(t.level=7&a),32&a&&(t.hidden=!0),64&a&&(t.hpt=r/20),t}},523:{},545:{f:Ts},549:{f:ls},566:{},574:{f:function(e,t,r){return r&&r.biff>=2&&r.biff<5?{}:{RTL:64&e.read_shift(2)}}},638:{f:function(e){var t=e.read_shift(2),r=e.read_shift(2),a=Zn(e);return{r:t,c:r,ixfe:a[0],rknum:a[1]}}},659:{},1048:{},1054:{f:function(e,t,r){return[e.read_shift(2),zn(e,0,r)]}},1084:{},1212:{f:function(e,t,r){var a=ts(e);e.l++;var n=e.read_shift(1);return[No(e,t-=8,r),n,a]}},2048:{f:function(e,t){e.read_shift(2);var r=Qn(e),a=e.read_shift((t-10)/2,"dbcs-cont");return[r,a=a.replace(R,"")]}},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:is},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Rn},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:function(e){e.l+=2;var t={cxfs:0,crc:0};return t.cxfs=e.read_shift(2),t.crc=e.read_shift(4),t},r:12},2173:{f:function(e,t){e.l,e.l+=2;var r=e.read_shift(2);e.l+=2;for(var a=e.read_shift(2),n=[];a-- >0;)n.push(Wi(e,e.l));return{ixfe:r,ext:n}},r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:In,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:function(e,t,r){if(!(r.biff<8)){var a=e.read_shift(2),n=e.read_shift(2);return[Wn(e,a,r),Wn(e,n,r)]}e.l+=t},r:12},2197:{},2198:{f:function(e,t,r){var a=e.l+t;if(124226!==e.read_shift(4))if(r.cellStyles){var n,s=e.slice(e.l);e.l=a;try{n=ft(s,{type:"array"})}catch(e){return}var i=st(n,"theme/theme/theme1.xml",!0);if(i)return Ui(i,r)}else e.l=a},r:12},2199:{},2200:{},2201:{},2202:{f:function(e){return[0!==e.read_shift(4),0!==e.read_shift(4),e.read_shift(4)]},r:12},2203:{f:Rn},2204:{},2205:{},2206:{},2207:{},2211:{f:function(e){var t=function(e){var t=e.read_shift(2),r=e.read_shift(2);return e.l+=8,{type:t,flags:r}}(e);if(2211!=t.type)throw new Error("Invalid Future Record "+t.type);return 0!==e.read_shift(4)}},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:Fn},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:function(e,t,r){var a={area:!1};if(5!=r.biff)return e.l+=t,a;var n=e.read_shift(1);return e.l+=3,16&n&&(a.area=!0),a}},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:function(e){for(var t=e.read_shift(2),r=[];t-- >0;)r.push(Yn(e));return r}},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:us},1:{},2:{f:function(e){var t=Kn(e);++e.l;var r=e.read_shift(2);return t.t="n",t.val=r,t}},3:{f:function(e){var t=Kn(e);++e.l;var r=Ca(e);return t.t="n",t.val=r,t}},4:{f:function(e,t,r){r.biffguess&&5==r.biff&&(r.biff=2);var a=Kn(e);++e.l;var n=zn(e,0,r);return a.t="str",a.val=n,a}},5:{f:ps},7:{f:function(e){var t=e.read_shift(1);return 0===t?(e.l++,""):e.read_shift(t,"sbcs-cont")}},8:{},9:{f:is},11:{},22:{f:Fn},30:{f:hs},31:{},32:{},33:{f:Ts},36:{},37:{f:ls},50:{f:function(e,t){e.l+=6,e.l+=2,e.l+=1,e.l+=3,e.l+=1,e.l+=t-13}},62:{},52:{},67:{},68:{f:Fn},69:{},86:{},126:{},127:{f:function(e){var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n={fmt:t,env:r,len:a,data:e.slice(e.l,e.l+a)};return e.l+=a,n}},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:function(e,t,r){var a=e.l+t,n=Kn(e),s=e.read_shift(2),i=Wn(e,s,r);return e.l=a,n.t="str",n.val=i,n}},223:{},234:{},354:{},421:{},518:{f:Fo},521:{f:is},536:{f:bs},547:{f:gs},561:{},579:{},1030:{f:Fo},1033:{f:is},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function gl(e,t,r,a){var n=t;if(!isNaN(n)){var s=a||(r||[]).length||0,i=e.next(4);i.write_shift(2,n),i.write_shift(2,s),s>0&&_r(r)&&e.push(r)}}function vl(e,t,r){return e||(e=Br(7)),e.write_shift(2,t),e.write_shift(2,r),e.write_shift(2,0),e.write_shift(1,0),e}function bl(e,t,r,a){if(null!=t.v)switch(t.t){case"d":case"n":var n="d"==t.t?Me(Xe(t.v)):t.v;return void(n==(0|n)&&n>=0&&n<65536?gl(e,2,(s=r,i=a,o=n,c=Br(9),vl(c,s,i),c.write_shift(2,o),c)):gl(e,3,function(e,t,r){var a=Br(15);return vl(a,e,t),a.write_shift(8,r,"f"),a}(r,a,n)));case"b":case"e":return void gl(e,5,function(e,t,r,a){var n=Br(9);return vl(n,e,t),Ln(r,a||"b",n),n}(r,a,t.v,t.t));case"s":case"str":return void gl(e,4,function(e,t,r){var a=Br(8+2*r.length);return vl(a,e,t),a.write_shift(1,r.length),a.write_shift(r.length,r,"sbcs"),a.l255||m.e.r>=g){if(t.WTF)throw new Error("Range "+(c["!ref"]||"A1")+" exceeds format limit A1:IV16384");m.e.c=Math.min(m.e.c,255),m.e.r=Math.min(m.e.c,g-1)}gl(i,2057,os(0,16,t)),gl(i,13,Dn(1)),gl(i,12,Dn(100)),gl(i,15,Nn(!0)),gl(i,17,Nn(!1)),gl(i,16,Oa(.001)),gl(i,95,Nn(!0)),gl(i,42,Nn(!1)),gl(i,43,Nn(!1)),gl(i,130,Dn(1)),gl(i,128,(n=[0,0],(s=Br(8)).write_shift(4,0),s.write_shift(2,n[0]?n[0]+1:0),s.write_shift(2,n[1]?n[1]+1:0),s)),gl(i,131,Nn(!1)),gl(i,132,Nn(!1)),u&&function(e,t){if(t){var r=0;t.forEach(function(t,a){++r<=256&&t&&gl(e,125,function(e,t){var r=Br(12);r.write_shift(2,t),r.write_shift(2,t),r.write_shift(2,256*e.width),r.write_shift(2,0);var a=0;return e.hidden&&(a|=1),r.write_shift(1,a),a=e.level||0,r.write_shift(1,a),r.write_shift(2,0),r}(Jo(a,t),a))})}}(i,c["!cols"]),gl(i,512,function(e,t){var r=8!=t.biff&&t.biff?2:4,a=Br(2*r+6);return a.write_shift(r,e.s.r),a.write_shift(r,e.e.r+1),a.write_shift(2,e.s.c),a.write_shift(2,e.e.c+1),a.write_shift(2,0),a}(m,t)),u&&(c["!links"]=[]);for(var v=m.s.r;v<=m.e.r;++v){d=Yr(v);for(var b=m.s.c;b<=m.e.c;++b){v===m.s.r&&(p[b]=Jr(b)),a=p[b]+d;var w=h?(c[v]||[])[b]:c[a];w&&(wl(i,w,v,b,t),u&&w.l&&c["!links"].push([a,w.l]))}}var T=f.CodeName||f.name||o;return u&&gl(i,574,function(e){var t=Br(18),r=1718;return e&&e.RTL&&(r|=64),t.write_shift(2,r),t.write_shift(4,0),t.write_shift(4,64),t.write_shift(4,0),t.write_shift(4,0),t}((l.Views||[])[0])),u&&(c["!merges"]||[]).length&&gl(i,229,function(e){var t=Br(2+8*e.length);t.write_shift(2,e.length);for(var r=0;r255&&"undefined"!=typeof console&&console.error&&console.error("Worksheet '"+e.SheetNames[r]+"' extends beyond column IV (255). Data may be lost.")}var n=t||{};switch(n.biff||2){case 8:case 5:return function(e,t){var r=t||{},a=[];e&&!e.SSF&&(e.SSF=Ye(H)),e&&e.SSF&&(ye(),Ee(e.SSF),r.revssf=Pe(e.SSF),r.revssf[e.SSF[65535]]=0,r.ssf=e.SSF),r.Strings=[],r.Strings.Count=0,r.Strings.Unique=0,df(r),r.cellXfs=[],Zo(r.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});for(var n=0;n255||i.e.r>16383){if(a.WTF)throw new Error("Range "+(t["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255),i.e.r=Math.min(i.e.c,16383),n=ea(i)}for(var l=i.s.r;l<=i.e.r;++l){o=Yr(l);for(var f=i.s.c;f<=i.e.c;++f){l===i.s.r&&(c[f]=Jr(f)),n=c[f]+o;var h=s?(t[l]||[])[f]:t[n];h&&bl(e,h,l,f)}}}(a,e.Sheets[e.SheetNames[n]],0,r),gl(a,10),a.end()}(e,t)}throw new Error("invalid type "+n.bookType+" for BIFF")}function Sl(e,t){var r=t||{},a=r.dense?[]:{},n=(e=e.replace(//g,"")).match(/");var s=e.match(/<\/table/i),i=n.index,o=s&&s.index||e.length,c=Qe(e.slice(i,o),/(:?]*>)/i,""),l=-1,f=0,h=0,u=0,d={s:{r:1e7,c:1e7},e:{r:0,c:0}},p=[];for(i=0;i/i);for(o=0;o"))>-1;)w=w.slice(T+1);for(var E=0;E")));u=S.colspan?+S.colspan:1,((h=+S.rowspan)>1||u>1)&&p.push({s:{r:l,c:f},e:{r:l+(h||1)-1,c:f+u-1}});var k=S.t||S["data-t"]||"";if(w.length)if(w=Ut(w),d.s.r>l&&(d.s.r=l),d.e.rf&&(d.s.c=f),d.e.cr||n[l].s.c>i||n[l].e.r1&&(d.rowspan=o),c>1&&(d.colspan=c),a.editable?u=''+u+"":h&&(d["data-t"]=h&&h.t||"z",null!=h.v&&(d["data-v"]=h.v),null!=h.z&&(d["data-z"]=h.z),h.l&&"#"!=(h.l.Target||"#").charAt(0)&&(u=''+u+"")),d.id=(a.id||"sjs")+"-"+f,s.push(Xt("td",u,d))}}return""+s.join("")+""}var _l='SheetJS Table Export',Al="";function xl(e,t,r){return[].join("")+""}function Cl(e,t){var r=t||{},a=null!=r.header?r.header:_l,n=null!=r.footer?r.footer:Al,s=[a],i=Qr(e["!ref"]);r.dense=Array.isArray(e),s.push(xl(0,0,r));for(var o=i.s.r;o<=i.e.r;++o)s.push(kl(e,i,o,r));return s.push("
"+n),s.join("")}function Ol(e,t,r){var a=r||{},n=0,s=0;if(null!=a.origin)if("number"==typeof a.origin)n=a.origin;else{var i="string"==typeof a.origin?qr(a.origin):a.origin;n=i.r,s=i.c}var o=t.getElementsByTagName("tr"),c=Math.min(a.sheetRows||1e7,o.length),l={s:{r:0,c:0},e:{r:n,c:s}};if(e["!ref"]){var f=Qr(e["!ref"]);l.s.r=Math.min(l.s.r,f.s.r),l.s.c=Math.min(l.s.c,f.s.c),l.e.r=Math.max(l.e.r,f.e.r),l.e.c=Math.max(l.e.c,f.e.c),-1==n&&(l.e.r=n=f.e.r+1)}var h=[],u=0,d=e["!rows"]||(e["!rows"]=[]),p=0,m=0,g=0,v=0,b=0,w=0;for(e["!cols"]||(e["!cols"]=[]);p1||w>1)&&h.push({s:{r:m+n,c:v+s},e:{r:m+n+(b||1)-1,c:v+s+(w||1)-1}});var A={t:"s",v:S},x=y.getAttribute("data-t")||y.getAttribute("t")||"";null!=S&&(0==S.length?A.t=x||"z":a.raw||0==S.trim().length||"s"==x||("TRUE"===S?A={t:"b",v:!0}:"FALSE"===S?A={t:"b",v:!1}:isNaN(Je(S))?isNaN(Ze(S).getDate())||(A={t:"d",v:Xe(S)},a.cellDates||(A={t:"n",v:Me(A.v)}),A.z=a.dateNF||H[14]):A={t:"n",v:Je(S)})),void 0===A.z&&null!=k&&(A.z=k);var C="",O=y.getElementsByTagName("A");if(O&&O.length)for(var R=0;R=c&&(e["!fullref"]=ea((l.e.r=o.length-p+m-1+n,l))),e}function Rl(e,t){return Ol((t||{}).dense?[]:{},e,t)}function Il(e){var t="",r=function(e){return e.ownerDocument.defaultView&&"function"==typeof e.ownerDocument.defaultView.getComputedStyle?e.ownerDocument.defaultView.getComputedStyle:"function"==typeof getComputedStyle?getComputedStyle:null}(e);return r&&(t=r(e).getPropertyValue("display")),t||(t=e.style&&e.style.display),"none"===t}function Nl(e){var t=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,t){return Array(parseInt(t,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");return[yt(t.replace(/<[^>]*>/g,""))]}var Fl={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function Dl(e,t){var r,a,n,s,i,o,c=t||{},l=Yt(e),f=[],h={name:""},u="",d=0,p={},m=[],g=c.dense?[]:{},v={value:""},b="",w=0,T=[],E=-1,y=-1,S={s:{r:1e6,c:1e7},e:{r:0,c:0}},k=0,_={},A=[],x={},C=[],O=1,R=1,I=[],N={Names:[]},F={},D=["",""],P=[],L={},M="",U=0,B=!1,W=!1,H=0;for(Kt.lastIndex=0,l=l.replace(//gm,"").replace(//gm,"");i=Kt.exec(l);)switch(i[3]=i[3].replace(/_.*$/,"")){case"table":case"工作表":"/"===i[1]?(S.e.c>=S.s.c&&S.e.r>=S.s.r?g["!ref"]=ea(S):g["!ref"]="A1:A1",c.sheetRows>0&&c.sheetRows<=S.e.r&&(g["!fullref"]=g["!ref"],S.e.r=c.sheetRows-1,g["!ref"]=ea(S)),A.length&&(g["!merges"]=A),C.length&&(g["!rows"]=C),n.name=n["名称"]||n.name,"undefined"!=typeof JSON&&JSON.stringify(n),m.push(n.name),p[n.name]=g,W=!1):"/"!==i[0].charAt(i[0].length-2)&&(n=bt(i[0],!1),E=y=-1,S.s.r=S.s.c=1e7,S.e.r=S.e.c=0,g=c.dense?[]:{},A=[],C=[],W=!0);break;case"table-row-group":"/"===i[1]?--k:++k;break;case"table-row":case"行":if("/"===i[1]){E+=O,O=1;break}if((s=bt(i[0],!1))["行号"]?E=s["行号"]-1:-1==E&&(E=0),(O=+s["number-rows-repeated"]||1)<10)for(H=0;H0&&(C[E+H]={level:k});y=-1;break;case"covered-table-cell":"/"!==i[1]&&++y,c.sheetStubs&&(c.dense?(g[E]||(g[E]=[]),g[E][y]={t:"z"}):g[Zr({r:E,c:y})]={t:"z"}),b="",T=[];break;case"table-cell":case"数据":if("/"===i[0].charAt(i[0].length-2))++y,v=bt(i[0],!1),R=parseInt(v["number-columns-repeated"]||"1",10),o={t:"z",v:null},v.formula&&0!=c.cellFormula&&(o.f=zo(yt(v.formula))),"string"==(v["数据类型"]||v["value-type"])&&(o.t="s",o.v=yt(v["string-value"]||""),c.dense?(g[E]||(g[E]=[]),g[E][y]=o):g[Zr({r:E,c:y})]=o),y+=R-1;else if("/"!==i[1]){b="",w=0,T=[],R=1;var z=O?E+O-1:E;if(++y>S.e.c&&(S.e.c=y),yS.e.r&&(S.e.r=z),P=[],L={},o={t:(v=bt(i[0],!1))["数据类型"]||v["value-type"],v:null},c.cellFormula)if(v.formula&&(v.formula=yt(v.formula)),v["number-matrix-columns-spanned"]&&v["number-matrix-rows-spanned"]&&(x={s:{r:E,c:y},e:{r:E+(parseInt(v["number-matrix-rows-spanned"],10)||0)-1,c:y+(parseInt(v["number-matrix-columns-spanned"],10)||0)-1}},o.F=ea(x),I.push([x,o.F])),v.formula)o.f=zo(v.formula);else for(H=0;H=I[H][0].s.r&&E<=I[H][0].e.r&&y>=I[H][0].s.c&&y<=I[H][0].e.c&&(o.F=I[H][1]);switch((v["number-columns-spanned"]||v["number-rows-spanned"])&&(x={s:{r:E,c:y},e:{r:E+(parseInt(v["number-rows-spanned"],10)||0)-1,c:y+(parseInt(v["number-columns-spanned"],10)||0)-1}},A.push(x)),v["number-columns-repeated"]&&(R=parseInt(v["number-columns-repeated"],10)),o.t){case"boolean":o.t="b",o.v=Rt(v["boolean-value"]);break;case"float":case"percentage":case"currency":o.t="n",o.v=parseFloat(v.value);break;case"date":o.t="d",o.v=Xe(v["date-value"]),c.cellDates||(o.t="n",o.v=Me(o.v)),o.z="m/d/yy";break;case"time":o.t="n",o.v=ze(v["time-value"])/86400,c.cellDates&&(o.t="d",o.v=He(o.v)),o.z="HH:MM:SS";break;case"number":o.t="n",o.v=parseFloat(v["数据数值"]);break;default:if("string"!==o.t&&"text"!==o.t&&o.t)throw new Error("Unsupported value type "+o.t);o.t="s",null!=v["string-value"]&&(b=yt(v["string-value"]),T=[])}}else{if(B=!1,"s"===o.t&&(o.v=b||"",T.length&&(o.R=T),B=0==w),F.Target&&(o.l=F),P.length>0&&(o.c=P,P=[]),b&&!1!==c.cellText&&(o.w=b),B&&(o.t="z",delete o.v),(!B||c.sheetStubs)&&!(c.sheetRows&&c.sheetRows<=E))for(var V=0;V0;)g[E+V][y+R]=Ye(o);else for(g[Zr({r:E+V,c:y})]=o;--R>0;)g[Zr({r:E+V,c:y+R})]=Ye(o);S.e.c<=y&&(S.e.c=y)}y+=(R=parseInt(v["number-columns-repeated"]||"1",10))-1,R=0,o={},b="",T=[]}F={};break;case"document":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":case"font-face-decls":case"master-styles":if("/"===i[1]){if((r=f.pop())[0]!==i[3])throw"Bad state: "+r}else"/"!==i[0].charAt(i[0].length-2)&&f.push([i[3],!0]);break;case"annotation":if("/"===i[1]){if((r=f.pop())[0]!==i[3])throw"Bad state: "+r;L.t=b,T.length&&(L.R=T),L.a=M,P.push(L)}else"/"!==i[0].charAt(i[0].length-2)&&f.push([i[3],!1]);M="",U=0,b="",w=0,T=[];break;case"creator":"/"===i[1]?M=l.slice(U,i.index):U=i.index+i[0].length;break;case"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"event-listeners":case"chart":if("/"===i[1]){if((r=f.pop())[0]!==i[3])throw"Bad state: "+r}else"/"!==i[0].charAt(i[0].length-2)&&f.push([i[3],!1]);b="",w=0,T=[];break;case"scientific-number":case"currency-symbol":case"currency-style":case"script":case"libraries":case"automatic-styles":case"default-style":case"page-layout":case"style":case"map":case"font-face":case"paragraph-properties":case"table-properties":case"table-column-properties":case"table-row-properties":case"table-cell-properties":case"fraction":case"boolean-style":case"boolean":case"text-style":case"text-content":case"text-properties":case"embedded-text":case"body":case"电子表格":case"forms":case"table-column":case"table-header-rows":case"table-rows":case"table-column-group":case"table-header-columns":case"table-columns":case"null-date":case"graphic-properties":case"calculation-settings":case"named-expressions":case"label-range":case"label-ranges":case"named-expression":case"sort":case"sort-by":case"sort-groups":case"tab":case"line-break":case"span":case"s":case"date":case"object":case"title":case"标题":case"desc":case"binary-data":case"table-source":case"scenario":case"iteration":case"content-validations":case"content-validation":case"help-message":case"error-message":case"database-ranges":case"filter":case"filter-and":case"filter-or":case"filter-condition":case"list-level-style-bullet":case"list-level-style-number":case"list-level-properties":case"sender-firstname":case"sender-lastname":case"sender-initials":case"sender-title":case"sender-position":case"sender-email":case"sender-phone-private":case"sender-fax":case"sender-company":case"sender-phone-work":case"sender-street":case"sender-city":case"sender-postal-code":case"sender-country":case"sender-state-or-province":case"author-name":case"author-initials":case"chapter":case"file-name":case"template-name":case"sheet-name":case"event-listener":case"initial-creator":case"creation-date":case"print-date":case"generator":case"document-statistic":case"user-defined":case"editing-duration":case"editing-cycles":case"config-item":case"page-number":case"page-count":case"time":case"cell-range-source":case"detective":case"operation":case"highlighted-range":case"data-pilot-table":case"source-cell-range":case"source-service":case"data-pilot-field":case"data-pilot-level":case"data-pilot-subtotals":case"data-pilot-subtotal":case"data-pilot-members":case"data-pilot-member":case"data-pilot-display-info":case"data-pilot-sort-info":case"data-pilot-layout-info":case"data-pilot-field-reference":case"data-pilot-groups":case"data-pilot-group":case"data-pilot-group-member":case"rect":case"dde-connection-decls":case"dde-connection-decl":case"dde-link":case"dde-source":case"properties":case"property":case"table-protection":case"data-pilot-grand-total":case"office-document-common-attrs":break;case"number-style":case"percentage-style":case"date-style":case"time-style":if("/"===i[1]){if(_[h.name]=u,(r=f.pop())[0]!==i[3])throw"Bad state: "+r}else"/"!==i[0].charAt(i[0].length-2)&&(u="",h=bt(i[0],!1),f.push([i[3],!0]));break;case"number":case"day":case"month":case"year":case"era":case"day-of-week":case"week-of-year":case"quarter":case"hours":case"minutes":case"seconds":case"am-pm":switch(f[f.length-1][0]){case"time-style":case"date-style":a=bt(i[0],!1),u+=Fl[i[3]]["long"===a.style?1:0]}break;case"text":if("/>"===i[0].slice(-2))break;if("/"===i[1])switch(f[f.length-1][0]){case"number-style":case"date-style":case"time-style":u+=l.slice(d,i.index)}else d=i.index+i[0].length;break;case"named-range":D=Go((a=bt(i[0],!1))["cell-range-address"]);var G={Name:a.name,Ref:D[0]+"!"+D[1]};W&&(G.Sheet=m.length),N.Names.push(G);break;case"p":case"文本串":if(["master-styles"].indexOf(f[f.length-1][0])>-1)break;if("/"!==i[1]||v&&v["string-value"])bt(i[0],!1),w=i.index+i[0].length;else{var j=Nl(l.slice(w,i.index));b=(b.length>0?b+"\n":"")+j[0]}break;case"database-range":if("/"===i[1])break;try{p[(D=Go(bt(i[0])["target-range-address"]))[0]]["!autofilter"]={ref:D[1]}}catch(e){}break;case"a":if("/"!==i[1]){if(!(F=bt(i[0],!1)).href)break;F.Target=yt(F.href),delete F.href,"#"==F.Target.charAt(0)&&F.Target.indexOf(".")>-1?(D=Go(F.Target.slice(1)),F.Target="#"+D[0]+"!"+D[1]):F.Target.match(/^\.\.[\\\/]/)&&(F.Target=F.Target.slice(3))}break;default:switch(i[2]){case"dc:":case"calcext:":case"loext:":case"ooo:":case"chartooo:":case"draw:":case"style:":case"chart:":case"form:":case"uof:":case"表:":case"字:":break;default:if(c.WTF)throw new Error(i)}}var X={Sheets:p,SheetNames:m,Workbook:N};return c.bookSheets&&delete X.Sheets,X}function Pl(e,t){t=t||{},rt(e,"META-INF/manifest.xml")&&function(e,t){for(var r,a,n=Yt(e);r=Kt.exec(n);)switch(r[3]){case"manifest":break;case"file-entry":if("/"==(a=bt(r[0],!1)).path&&"application/vnd.oasis.opendocument.spreadsheet"!==a.type)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":case"algorithm":case"start-key-generation":case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(t&&t.WTF)throw r}}(nt(e,"META-INF/manifest.xml"),t);var r=st(e,"content.xml");if(!r)throw new Error("Missing content.xml in ODS / UOF file");var a=Dl(Pt(r),t);return rt(e,"meta.xml")&&(a.Props=tn(nt(e,"meta.xml"))),a}function Ll(e,t){return Dl(e,t)}var Ml=function(){var e=["",'',"",'',"",'',"",""].join(""),t=""+e+"";return function(){return ut+t}}(),Ul=function(){var e=function(e){return _t(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")},t=" \n",r=function(r,a,n){var s=[];s.push(' \n');var i=0,o=0,c=Qr(r["!ref"]||"A1"),l=r["!merges"]||[],f=0,h=Array.isArray(r);if(r["!cols"])for(o=0;o<=c.e.c;++o)s.push(" \n");var u="",d=r["!rows"]||[];for(i=0;i\n");for(;i<=c.e.r;++i){for(u=d[i]?' table:style-name="ro'+d[i].ods+'"':"",s.push(" \n"),o=0;oo||l[f].s.r>i||l[f].e.c\n");else{var v=Zr({r:i,c:o}),b=h?(r[i]||[])[o]:r[v];if(b&&b.f&&(m["table:formula"]=_t(Vo(b.f)),b.F&&b.F.slice(0,v.length)==v)){var w=Qr(b.F);m["table:number-matrix-columns-spanned"]=w.e.c-w.s.c+1,m["table:number-matrix-rows-spanned"]=w.e.r-w.s.r+1}if(b){switch(b.t){case"b":g=b.v?"TRUE":"FALSE",m["office:value-type"]="boolean",m["office:boolean-value"]=b.v?"true":"false";break;case"n":g=b.w||String(b.v||0),m["office:value-type"]="float",m["office:value"]=b.v||0;break;case"s":case"str":g=null==b.v?"":b.v,m["office:value-type"]="string";break;case"d":g=b.w||Xe(b.v).toISOString(),m["office:value-type"]="date",m["office:date-value"]=Xe(b.v).toISOString(),m["table:style-name"]="ce1";break;default:s.push(t);continue}var T=e(g);if(b.l&&b.l.Target){var E=b.l.Target;"#"==(E="#"==E.charAt(0)?"#"+jo(E.slice(1)):E).charAt(0)||E.match(/^\w+:/)||(E="../"+E),T=Xt("text:a",T,{"xlink:href":E.replace(/&/g,"&")})}s.push(" "+Xt("table:table-cell",Xt("text:p",T,{}),m)+"\n")}else s.push(t)}}s.push(" \n")}return s.push(" \n"),s.join("")};return function(e,t){var a=[ut],n=jt({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"}),s=jt({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});"fods"==t.bookType?(a.push("\n"),a.push(Za().replace(/office:document-meta/g,"office:meta"))):a.push("\n"),function(e,t){e.push(" \n"),e.push(' \n'),e.push(' \n'),e.push(" /\n"),e.push(' \n'),e.push(" /\n"),e.push(" \n"),e.push(" \n");var r=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!cols"])for(var a=0;a\n'),e.push(' \n'),e.push(" \n"),++r}});var a=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!rows"])for(var r=0;r\n'),e.push(' \n'),e.push(" \n"),++a}}),e.push(' \n'),e.push(' \n'),e.push(" \n"),e.push(' \n'),e.push(" \n")}(a,e),a.push(" \n"),a.push(" \n");for(var i=0;i!=e.SheetNames.length;++i)a.push(r(e.Sheets[e.SheetNames[i]],e,i));return a.push(" \n"),a.push(" \n"),"fods"==t.bookType?a.push(""):a.push(""),a.join("")}}();function Bl(e,t){if("fods"==t.bookType)return Ul(e,t);var r=lt(),a="",n=[],s=[];return ct(r,a="mimetype","application/vnd.oasis.opendocument.spreadsheet"),ct(r,a="content.xml",Ul(e,t)),n.push([a,"text/xml"]),s.push([a,"ContentFile"]),ct(r,a="styles.xml",Ml(e,t)),n.push([a,"text/xml"]),s.push([a,"StylesFile"]),ct(r,a="meta.xml",ut+Za()),n.push([a,"text/xml"]),s.push([a,"MetadataFile"]),ct(r,a="manifest.rdf",function(e){var t=[ut];t.push('\n');for(var r=0;r!=e.length;++r)t.push(Ja(e[r][0],e[r][1])),t.push(qa("",e[r][0]));return t.push(Ja("","Document","pkg")),t.push(""),t.join("")}(s)),n.push([a,"application/rdf+xml"]),ct(r,a="META-INF/manifest.xml",function(e){var t=[ut];t.push('\n'),t.push(' \n');for(var r=0;r\n');return t.push(""),t.join("")}(n)),r}function Wl(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Hl(e){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(e):Pt(x(e))}function zl(e){return"undefined"!=typeof TextEncoder?(new TextEncoder).encode(e):_(Lt(e))}function Vl(e){var t=e.reduce(function(e,t){return e+t.length},0),r=new Uint8Array(t),a=0;return e.forEach(function(e){r.set(e,a),a+=e.length}),r}function Gl(e){return 16843009*((e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135)>>>24}function jl(e,t){var r=t?t[0]:0,a=127&e[r];e:if(e[r++]>=128){if(a|=(127&e[r])<<7,e[r++]<128)break e;if(a|=(127&e[r])<<14,e[r++]<128)break e;if(a|=(127&e[r])<<21,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,28),++r,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,35),++r,e[r++]<128)break e;if(a+=(127&e[r])*Math.pow(2,42),++r,e[r++]<128)break e}return t&&(t[0]=r),a}function Xl(e){var t=new Uint8Array(7);t[0]=127&e;var r=1;e:if(e>127){if(t[r-1]|=128,t[r]=e>>7&127,++r,e<=16383)break e;if(t[r-1]|=128,t[r]=e>>14&127,++r,e<=2097151)break e;if(t[r-1]|=128,t[r]=e>>21&127,++r,e<=268435455)break e;if(t[r-1]|=128,t[r]=e/256>>>21&127,++r,e<=34359738367)break e;if(t[r-1]|=128,t[r]=e/65536>>>21&127,++r,e<=4398046511103)break e;t[r-1]|=128,t[r]=e/16777216>>>21&127,++r}return t.slice(0,r)}function $l(e){var t=0,r=127&e[t];e:if(e[t++]>=128){if(r|=(127&e[t])<<7,e[t++]<128)break e;if(r|=(127&e[t])<<14,e[t++]<128)break e;if(r|=(127&e[t])<<21,e[t++]<128)break e;r|=(127&e[t])<<28}return r}function Yl(e){for(var t=[],r=[0];r[0]=128;);a=e.slice(c,r[0]);break;case 5:o=4,a=e.slice(r[0],r[0]+o),r[0]+=o;break;case 1:o=8,a=e.slice(r[0],r[0]+o),r[0]+=o;break;case 2:o=jl(e,r),a=e.slice(r[0],r[0]+o),r[0]+=o;break;default:throw new Error("PB Type ".concat(i," for Field ").concat(s," at offset ").concat(n))}var l={data:a,type:i};null==t[s]?t[s]=[l]:t[s].push(l)}return t}function Kl(e){var t=[];return e.forEach(function(e,r){e.forEach(function(e){e.data&&(t.push(Xl(8*r+e.type)),2==e.type&&t.push(Xl(e.data.length)),t.push(e.data))})}),Vl(t)}function Jl(e,t){return(null==e?void 0:e.map(function(e){return t(e.data)}))||[]}function ql(e){for(var t,r=[],a=[0];a[0]>>0>0),r.push(i)}return r}function Zl(e){var t=[];return e.forEach(function(e){var r=[];r[1]=[{data:Xl(e.id),type:0}],r[2]=[],null!=e.merge&&(r[3]=[{data:Xl(+!!e.merge),type:0}]);var a=[];e.messages.forEach(function(e){a.push(e.data),e.meta[3]=[{type:0,data:Xl(e.data.length)}],r[2].push({data:Kl(e.meta),type:2})});var n=Kl(r);t.push(Xl(n.length)),t.push(n),a.forEach(function(e){return t.push(e)})}),Vl(t)}function Ql(e,t){if(0!=e)throw new Error("Unexpected Snappy chunk type ".concat(e));for(var r=[0],a=jl(t,r),n=[];r[0]>2&7),i=(224&t[r[0]++])<<3,i|=t[r[0]++]):(o=1+(t[r[0]++]>>2),2==s?(i=t[r[0]]|t[r[0]+1]<<8,r[0]+=2):(i=(t[r[0]]|t[r[0]+1]<<8|t[r[0]+2]<<16|t[r[0]+3]<<24)>>>0,r[0]+=4)),n=[Vl(n)],0==i)throw new Error("Invalid offset 0");if(i>n[0].length)throw new Error("Invalid offset beyond length");if(o>=i)for(n.push(n[0].slice(-i)),o-=i;o>=n[n.length-1].length;)n.push(n[n.length-1]),o-=n[n.length-1].length;n.push(n[0].slice(-i,-i+o))}else{var c=t[r[0]++]>>2;if(c<60)++c;else{var l=c-59;c=t[r[0]],l>1&&(c|=t[r[0]+1]<<8),l>2&&(c|=t[r[0]+2]<<16),l>3&&(c|=t[r[0]+3]<<24),c>>>=0,c++,r[0]+=l}n.push(t.slice(r[0],r[0]+c)),r[0]+=c}}var f=Vl(n);if(f.length!=a)throw new Error("Unexpected length: ".concat(f.length," != ").concat(a));return f}function ef(e){for(var t=[],r=0;r>8&255]))):a<=16777216?(i+=4,t.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))):a<=4294967296&&(i+=5,t.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))),t.push(e.slice(r,r+a)),i+=a,n[0]=0,n[1]=255&i,n[2]=i>>8&255,n[3]=i>>16&255,r+=a}return Vl(t)}function rf(e,t){var r=new Uint8Array(32),a=Wl(r),n=12,s=0;switch(r[0]=5,e.t){case"n":r[1]=2,function(e,t,r){var a=Math.floor(0==r?0:Math.LOG10E*Math.log(Math.abs(r)))+6176-20,n=r/Math.pow(10,a-6176);e[t+15]|=a>>7,e[t+14]|=(127&a)<<1;for(var s=0;n>=1;++s,n/=256)e[t+s]=255&n;e[t+15]|=r>=0?0:128}(r,n,e.v),s|=1,n+=16;break;case"b":r[1]=6,a.setFloat64(n,e.v?1:0,!0),s|=2,n+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));r[1]=3,a.setUint32(n,t.indexOf(e.v),!0),s|=8,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(8,s,!0),r.slice(0,n)}function af(e,t){var r=new Uint8Array(32),a=Wl(r),n=12,s=0;switch(r[0]=3,e.t){case"n":r[2]=2,a.setFloat64(n,e.v,!0),s|=32,n+=8;break;case"b":r[2]=6,a.setFloat64(n,e.v?1:0,!0),s|=32,n+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));r[2]=3,a.setUint32(n,t.indexOf(e.v),!0),s|=16,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(4,s,!0),r.slice(0,n)}function nf(e,t,r){switch(e[0]){case 0:case 1:case 2:case 3:return function(e,t,r,a){var n,s=Wl(e),i=s.getUint32(4,!0),o=(a>1?12:8)+4*Gl(i&(a>1?3470:398)),c=-1,l=-1,f=NaN,h=new Date(2001,0,1);switch(512&i&&(c=s.getUint32(o,!0),o+=4),o+=4*Gl(i&(a>1?12288:4096)),16&i&&(l=s.getUint32(o,!0),o+=4),32&i&&(f=s.getFloat64(o,!0),o+=8),64&i&&(h.setTime(h.getTime()+1e3*s.getFloat64(o,!0)),o+=8),e[2]){case 0:break;case 2:n={t:"n",v:f};break;case 3:n={t:"s",v:t[l]};break;case 5:n={t:"d",v:h};break;case 6:n={t:"b",v:f>0};break;case 7:n={t:"n",v:f/86400};break;case 8:n={t:"e",v:0};break;case 9:if(c>-1)n={t:"s",v:r[c]};else if(l>-1)n={t:"s",v:t[l]};else{if(isNaN(f))throw new Error("Unsupported cell type ".concat(e.slice(0,4)));n={t:"n",v:f}}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}return n}(e,t,r,e[0]);case 5:return function(e,t,r){var a,n=Wl(e),s=n.getUint32(8,!0),i=12,o=-1,c=-1,l=NaN,f=NaN,h=new Date(2001,0,1);switch(1&s&&(l=function(e,t){for(var r=(127&e[t+15])<<7|e[t+14]>>1,a=1&e[t+14],n=t+13;n>=t;--n)a=256*a+e[n];return(128&e[t+15]?-a:a)*Math.pow(10,r-6176)}(e,i),i+=16),2&s&&(f=n.getFloat64(i,!0),i+=8),4&s&&(h.setTime(h.getTime()+1e3*n.getFloat64(i,!0)),i+=8),8&s&&(c=n.getUint32(i,!0),i+=4),16&s&&(o=n.getUint32(i,!0),i+=4),e[1]){case 0:break;case 2:case 10:a={t:"n",v:l};break;case 3:a={t:"s",v:t[c]};break;case 5:a={t:"d",v:h};break;case 6:a={t:"b",v:f>0};break;case 7:a={t:"n",v:f/86400};break;case 8:a={t:"e",v:0};break;case 9:if(!(o>-1))throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)));a={t:"s",v:r[o]};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)))}return a}(e,t,r);default:throw new Error("Unsupported payload version ".concat(e[0]))}}function sf(e){return jl(Yl(e)[1][0].data)}function of(e,t){var r=Yl(t.data),a=$l(r[1][0].data),n=r[3],s=[];return(n||[]).forEach(function(t){var r=Yl(t.data),n=$l(r[1][0].data)>>>0;switch(a){case 1:s[n]=Hl(r[3][0].data);break;case 8:var i=Yl(e[sf(r[9][0].data)][0].data),o=e[sf(i[1][0].data)][0],c=$l(o.meta[1][0].data);if(2001!=c)throw new Error("2000 unexpected reference to ".concat(c));var l=Yl(o.data);s[n]=l[3].map(function(e){return Hl(e.data)}).join("")}}),s}function cf(e,t){var r={"!ref":"A1"},a=e[sf(Yl(t.data)[2][0].data)],n=$l(a[0].meta[1][0].data);if(6001!=n)throw new Error("6000 unexpected reference to ".concat(n));return function(e,t,r){var a,n=Yl(t.data),s={s:{r:0,c:0},e:{r:0,c:0}};if(s.e.r=($l(n[6][0].data)>>>0)-1,s.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));if(s.e.c=($l(n[7][0].data)>>>0)-1,s.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));r["!ref"]=ea(s);var i=Yl(n[4][0].data),o=of(e,e[sf(i[4][0].data)][0]),c=(null==(a=i[17])?void 0:a[0])?of(e,e[sf(i[17][0].data)][0]):[],l=Yl(i[3][0].data),f=0;l[1].forEach(function(t){var a=Yl(t.data),n=e[sf(a[2][0].data)][0],s=$l(n.meta[1][0].data);if(6002!=s)throw new Error("6001 unexpected reference to ".concat(s));var i=function(e,t){var r,a=Yl(t.data),n=(null==(r=null==a?void 0:a[7])?void 0:r[0])?$l(a[7][0].data)>>>0>0?1:0:-1,s=Jl(a[5],function(e){return function(e,t){var r,a,n,s,i,o,c,l,f,h,u,d,p,m,g,v,b=Yl(e),w=$l(b[1][0].data)>>>0,T=$l(b[2][0].data)>>>0,E=(null==(a=null==(r=b[8])?void 0:r[0])?void 0:a.data)&&$l(b[8][0].data)>0||!1;if((null==(s=null==(n=b[7])?void 0:n[0])?void 0:s.data)&&0!=t)g=null==(o=null==(i=b[7])?void 0:i[0])?void 0:o.data,v=null==(l=null==(c=b[6])?void 0:c[0])?void 0:l.data;else{if(!(null==(h=null==(f=b[4])?void 0:f[0])?void 0:h.data)||1==t)throw"NUMBERS Tile missing ".concat(t," cell storage");g=null==(d=null==(u=b[4])?void 0:u[0])?void 0:d.data,v=null==(m=null==(p=b[3])?void 0:p[0])?void 0:m.data}for(var y=E?4:1,S=Wl(g),k=[],_=0;_=1&&(x[k[k.length-1][0]]=v.subarray(k[k.length-1][1]*y)),{R:w,cells:x}}(e,n)});return{nrows:$l(a[4][0].data)>>>0,data:s.reduce(function(e,t){return e[t.R]||(e[t.R]=[]),t.cells.forEach(function(r,a){if(e[t.R][a])throw new Error("Duplicate cell r=".concat(t.R," c=").concat(a));e[t.R][a]=r}),e},[])}}(0,n);i.data.forEach(function(e,t){e.forEach(function(e,a){var n=Zr({r:f+t,c:a}),s=nf(e,o,c);s&&(r[n]=s)})}),f+=i.nrows})}(e,a[0],r),r}function lf(e){var t,r,a,n,s={},i=[];if(e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),e.FileIndex.forEach(function(e){if(e.name.match(/\.iwa$/)){var t,r;try{t=ef(e.content)}catch(t){return console.log("?? "+e.content.length+" "+(t.message||t))}try{r=ql(t)}catch(e){return console.log("## "+(e.message||e))}r.forEach(function(e){s[e.id]=e.messages,i.push(e.id)})}}),!i.length)throw new Error("File has no messages");var o=(null==(n=null==(a=null==(r=null==(t=null==s?void 0:s[1])?void 0:t[0])?void 0:r.meta)?void 0:a[1])?void 0:n[0].data)&&1==$l(s[1][0].meta[1][0].data)&&s[1][0];if(o||i.forEach(function(e){s[e].forEach(function(e){if(1==$l(e.meta[1][0].data)>>>0){if(o)throw new Error("Document has multiple roots");o=e}})}),!o)throw new Error("Cannot find Document root");return function(e,t){var r={SheetNames:[],Sheets:{}};if(Jl(Yl(t.data)[1],sf).forEach(function(t){e[t].forEach(function(t){if(2==$l(t.meta[1][0].data)){var a=function(e,t){var r,a=Yl(t.data),n={name:(null==(r=a[1])?void 0:r[0])?Hl(a[1][0].data):"",sheets:[]};return Jl(a[2],sf).forEach(function(t){e[t].forEach(function(t){6e3==$l(t.meta[1][0].data)&&n.sheets.push(cf(e,t))})}),n}(e,t);a.sheets.forEach(function(e,t){Vf(r,e,0==t?a.name:a.name+"_"+t,!0)})}})}),0==r.SheetNames.length)throw new Error("Empty NUMBERS file");return r}(s,o)}function ff(e,t,r){var a,n,s,i;if(!(null==(a=e[6])?void 0:a[0])||!(null==(n=e[7])?void 0:n[0]))throw"Mutation only works on post-BNC storages!";if((null==(i=null==(s=e[8])?void 0:s[0])?void 0:i.data)&&$l(e[8][0].data)>0)throw"Math only works with normal offsets";for(var o=0,c=Wl(e[7][0].data),l=0,f=[],h=Wl(e[4][0].data),u=0,d=[],p=0;p0)i.push(c);else if(a.T<0)i.pop();else if(!o||t.WTF)throw new Error("Unexpected record 0x"+c.toString(16))}},t),a["!id"][s["!rel"]]&&(s["!drawel"]=a["!id"][s["!rel"]]),s}(e,a,r,n,s):function(e,t,r,a,n){if(!e)return e;a||(a={"!id":{}});var s,i={"!type":"chart","!drawel":null,"!rel":""},o=e.match(cc);return o&&hc(o[0],0,n,r),(s=e.match(/drawing r:id="(.*?)"/))&&(i["!rel"]=s[1]),a["!id"][i["!rel"]]&&(i["!drawel"]=a["!id"][i["!rel"]]),i}(e,0,r,n,s)}(d,t,n,c,s[a],l))||!u["!drawel"])break;var p=ht(u["!drawel"].Target,t),m=Xa(p),g=function(e,t){if(!e)return"??";var r=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return t["!id"][r].Target}(st(e,p,!0),$a(st(e,m,!0),p)),v=ht(g,p),b=Xa(v);u=function(e,t,r,a,n,s){var i=s||{"!type":"chart"};if(!e)return s;var o=0,c=0,l="A",f={s:{r:2e6,c:2e6},e:{r:0,c:0}};return(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var t=function(e){var t,r=[],a=e.match(/^/);(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var t=e.match(/(.*)<\/c:v><\/c:pt>/);t&&(r[+t[1]]=a?+t[2]:t[2])});var n=yt((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);return(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){t=e.replace(/<.*?>/g,"")}),[r,n,t]}(e);f.s.r=f.s.c=0,f.e.c=o,l=Jr(o),t[0].forEach(function(e,r){i[l+Yr(r)]={t:"n",v:e,z:t[1]},c=r}),f.e.r0&&(i["!ref"]=ea(f)),i}(st(e,v,!0),0,0,$a(st(e,b,!0),v),0,u);break;case"macro":T=t,s[a],T.slice(-4),u={"!type":"macro"};break;case"dialog":u=function(e,t){return t.slice(-4),{"!type":"dialog"}}(0,t,s[a]);break;default:throw new Error("Unrecognized sheet type "+o)}i[a]=u;var w=[];s&&s[a]&&Ne(s[a]).forEach(function(r){var n="";if(s[a][r].Type==ja.CMNT){n=ht(s[a][r].Target,t);var i=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r=[],a=[],n={},s=!1;return Wr(e,function(e,i,o){switch(o){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t,n.h=e.h,n.r=e.r;break;case 636:if(n.author=a[n.iauthor],delete n.iauthor,t.sheetRows&&n.rfx&&t.sheetRows<=n.rfx.r)break;n.t||(n.t=""),delete n.rfx,r.push(n);break;case 3072:case 37:case 38:break;case 35:s=!0;break;case 36:s=!1;break;default:if(i.T);else if(!s||t.WTF)throw new Error("Unexpected record 0x"+o.toString(16))}}),r}(e,r):function(e,t){if(e.match(/<(?:\w+:)?comments *\/>/))return[];var r=[],a=[],n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);n&&n[1]&&n[1].split(/<\/\w*:?author>/).forEach(function(e){if(""!==e&&""!==e.trim()){var t=e.match(/<(?:\w+:)?author[^>]*>(.*)/);t&&r.push(t[1])}});var s=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);return s&&s[1]&&s[1].split(/<\/\w*:?comment>/).forEach(function(e){if(""!==e&&""!==e.trim()){var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(n){var s=bt(n[0]),i={author:s.authorId&&r[s.authorId]||"sheetjsghost",ref:s.ref,guid:s.guid},o=qr(s.ref);if(!(t.sheetRows&&t.sheetRows<=o.r)){var c=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/),l=!!c&&!!c[1]&&Ws(c[1])||{r:"",t:"",h:""};i.r=l.r,""==l.r&&(l.t=l.h=""),i.t=(l.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"),t.cellHTML&&(i.h=l.h),a.push(i)}}}}),a}(e,r)}(nt(e,n,!0),n,c);if(!i||!i.length)return;Xi(u,i,!1)}s[a][r].Type==ja.TCMNT&&(n=ht(s[a][r].Target,t),w=w.concat(function(e,t){var r=[],a=!1,n={},s=0;return e.replace(mt,function(i,o){var c=bt(i);switch(wt(c[0])){case"":case"":case"":case"":break;case"":null!=n.t&&r.push(n);break;case"":case"":n.t=e.slice(s,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":case"":case"":a=!1;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+c[0]+" in threaded comments")}return i}),r}(nt(e,n,!0),c)))}),w&&w.length&&Xi(u,w,!0,c.people||[])}catch(e){if(c.WTF)throw e}var T}function mf(e){return"/"==e.charAt(0)?e.slice(1):e}function gf(e,t){if(ye(),uf(t=t||{}),rt(e,"META-INF/manifest.xml"))return Pl(e,t);if(rt(e,"objectdata.xml"))return Pl(e,t);if(rt(e,"Index/Document.iwa")){if("undefined"==typeof Uint8Array)throw new Error("NUMBERS file parsing requires Uint8Array support");if(void 0!==lf){if(e.FileIndex)return lf(e);var r=xe.utils.cfb_new();return ot(e).forEach(function(t){ct(r,t,it(e,t))}),lf(r)}throw new Error("Unsupported NUMBERS file")}if(!rt(e,"[Content_Types].xml")){if(rt(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(rt(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var a,n,s=ot(e),i=function(e){var t={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};if(!e||!e.match)return t;var r={};if((e.match(mt)||[]).forEach(function(e){var a=bt(e);switch(a[0].replace(gt,"<")){case"0?t.calcchains[0]:"",t.sst=t.strs.length>0?t.strs[0]:"",t.style=t.styles.length>0?t.styles[0]:"",t.defaults=r,delete t.calcchains,t}(st(e,"[Content_Types].xml")),o=!1;if(0===i.workbooks.length&&nt(e,n="xl/workbook.xml",!0)&&i.workbooks.push(n),0===i.workbooks.length){if(!nt(e,n="xl/workbook.bin",!0))throw new Error("Could not find workbook");i.workbooks.push(n),o=!0}"bin"==i.workbooks[0].slice(-3)&&(o=!0);var c={},l={};if(!t.bookSheets&&!t.bookProps){if(Xo=[],i.sst)try{Xo=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r=[],a=!1;return Wr(e,function(e,n,s){switch(s){case 159:r.Count=e[0],r.Unique=e[1];break;case 19:r.push(e);break;case 160:return!0;case 35:a=!0;break;case 36:a=!1;break;default:if(n.T,!a||t.WTF)throw new Error("Unexpected record 0x"+s.toString(16))}}),r}(e,r):function(e,t){var r=[],a="";if(!e)return r;var n=e.match(Hs);if(n){a=n[2].replace(zs,"").split(Vs);for(var s=0;s!=a.length;++s){var i=Ws(a[s].trim(),t);null!=i&&(r[r.length]=i)}n=bt(n[1]),r.Count=n.count,r.Unique=n.uniqueCount}return r}(e,r)}(nt(e,mf(i.sst)),i.sst,t)}catch(e){if(t.WTF)throw e}t.cellStyles&&i.themes.length&&(c=function(e,t,r){return Ui(e,r)}(st(e,i.themes[0].replace(/^\//,""),!0)||"",i.themes[0],t)),i.style&&(l=function(e,t,r,a){return".bin"===t.slice(-4)?function(e,t,r){var a={NumberFmt:[]};for(var n in H)a.NumberFmt[n]=H[n];a.CellXf=[],a.Fonts=[];var s=[],i=!1;return Wr(e,function(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1],Te(e[1],e[0]);break;case 43:a.Fonts.push(e),null!=e.color.theme&&t&&t.themeElements&&t.themeElements.clrScheme&&(e.color.rgb=ii(t.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0));break;case 1025:case 45:case 46:case 48:case 507:case 572:case 475:case 1171:case 2102:case 1130:case 512:case 2095:case 3072:break;case 47:617==s[s.length-1]&&a.CellXf.push(e);break;case 35:i=!0;break;case 36:i=!1;break;case 37:s.push(o),i=!0;break;case 38:s.pop(),i=!1;break;default:if(n.T>0)s.push(o);else if(n.T<0)s.pop();else if(!i||r.WTF&&37!=s[s.length-1])throw new Error("Unexpected record 0x"+o.toString(16))}}),a}(e,r,a):wi(e,r,a)}(nt(e,mf(i.style)),i.style,c,t))}i.links.map(function(r){try{return $a(st(e,Xa(mf(r))),r),function(e,t,r,a){if(".bin"===r.slice(-4))return function(e,t,r,a){if(!e)return e;var n=a||{},s=!1;Wr(e,function(e,t,r){switch(r){case 359:case 363:case 364:case 366:case 367:case 368:case 369:case 370:case 371:case 472:case 577:case 578:case 579:case 580:case 581:case 582:case 583:case 584:case 585:case 586:case 587:break;case 35:s=!0;break;case 36:s=!1;break;default:if(t.T);else if(!s||n.WTF)throw new Error("Unexpected record 0x"+r.toString(16))}},n)}(e,0,0,a)}(nt(e,mf(r)),0,r,t)}catch(e){}});var f=function(e,t,r){return".bin"===t.slice(-4)?function(e,t){var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""},a=[],n=!1;t||(t={}),t.biff=12;var s=[],i=[[]];return i.SheetNames=[],i.XTI=[],pl[16]={n:"BrtFRTArchID$",f:Wc},Wr(e,function(e,o,c){switch(c){case 156:i.SheetNames.push(e.name),r.Sheets.push(e);break;case 153:r.WBProps=e;break;case 39:null!=e.Sheet&&(t.SID=e.Sheet),e.Ref=Ro(e.Ptg,0,null,i,t),delete t.SID,delete e.Ptg,s.push(e);break;case 1036:case 361:case 2071:case 158:case 143:case 664:case 353:case 3072:case 3073:case 534:case 677:case 157:case 610:case 2050:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 596:case 2076:case 2075:case 2082:case 397:case 154:case 1117:case 553:case 2091:case 16:break;case 357:case 358:case 355:case 667:i[0].length?i.push([c,e]):i[0]=[c,e],i[i.length-1].XTI=[];break;case 362:0===i.length&&(i[0]=[],i[0].XTI=[]),i[i.length-1].XTI=i[i.length-1].XTI.concat(e),i.XTI=i.XTI.concat(e);break;case 35:case 37:a.push(c),n=!0;break;case 36:case 38:a.pop(),n=!1;break;default:if(o.T);else if(!n||t.WTF&&37!=a[a.length-1]&&35!=a[a.length-1])throw new Error("Unexpected record 0x"+c.toString(16))}},t),Fc(r),r.Names=s,r.supbooks=i,r}(e,r):function(e,t){if(!e)throw new Error("Could not find file");var r={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:""},a=!1,n="xmlns",s={},i=0;if(e.replace(mt,function(o,c){var l=bt(o);switch(wt(l[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":xc.forEach(function(e){if(null!=l[e[0]])switch(e[2]){case"bool":r.WBProps[e[0]]=Rt(l[e[0]]);break;case"int":r.WBProps[e[0]]=parseInt(l[e[0]],10);break;default:r.WBProps[e[0]]=l[e[0]]}}),l.codeName&&(r.WBProps.CodeName=Pt(l.codeName));break;case"":delete l[0],r.WBView.push(l);break;case"":case"":a=!0;break;case"":case"":case"":a=!1;break;case"":s.Ref=yt(Pt(e.slice(i,c))),r.Names.push(s);break;case"":delete l[0],r.CalcPr=l;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+l[0]+" in workbook")}return o}),-1===tr.indexOf(r.xmlns))throw new Error("Unknown Namespace: "+r.xmlns);return Fc(r),r}(e,r)}(nt(e,mf(i.workbooks[0])),i.workbooks[0],t),h={},u="";i.coreprops.length&&((u=nt(e,mf(i.coreprops[0]),!0))&&(h=tn(u)),0!==i.extprops.length&&(u=nt(e,mf(i.extprops[0]),!0))&&function(e,t,r){var a={};t||(t={}),e=Pt(e),nn.forEach(function(r){var n=(e.match(Mt(r[0]))||[])[1];switch(r[2]){case"string":n&&(t[r[1]]=yt(n));break;case"bool":t[r[1]]="true"===n;break;case"raw":var s=e.match(new RegExp("<"+r[0]+"[^>]*>([\\s\\S]*?)"));s&&s.length>0&&(a[r[1]]=s[1])}}),a.HeadingPairs&&a.TitlesOfParts&&on(a.HeadingPairs,a.TitlesOfParts,t,r)}(u,h,t));var d={};t.bookSheets&&!t.bookProps||0!==i.custprops.length&&(u=st(e,mf(i.custprops[0]),!0))&&(d=function(e,t){var r={},a="",n=e.match(ln);if(n)for(var s=0;s!=n.length;++s){var i=n[s],o=bt(i);switch(o[0]){case"":a=null;break;default:if(0===i.indexOf(""),l=c[0].slice(4),f=c[1];switch(l){case"lpstr":case"bstr":case"lpwstr":case"cy":case"error":r[a]=yt(f);break;case"bool":r[a]=Rt(f);break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":r[a]=parseInt(f,10);break;case"r4":case"r8":case"decimal":r[a]=parseFloat(f);break;case"filetime":case"date":r[a]=Xe(f);break;default:if("/"==l.slice(-1))break;t.WTF&&"undefined"!=typeof console&&console.warn("Unexpected",i,l,c)}}else if("0&&(a=h.SheetNames),t.bookProps&&(p.Props=h,p.Custprops=d),t.bookSheets&&void 0!==a&&(p.SheetNames=a),t.bookSheets?p.SheetNames:t.bookProps))return p;a={};var m,g={};t.bookDeps&&i.calcchain&&(m=nt(e,mf(i.calcchain)),g=".bin"===i.calcchain.slice(-4)?function(e){var t=[];return Wr(e,function(e,r,a){if(63===a)t.push(e);else if(!r.T)throw new Error("Unexpected record 0x"+a.toString(16))}),t}(m):function(e){var t=[];if(!e)return t;var r=1;return(e.match(mt)||[]).forEach(function(e){var a=bt(e);switch(a[0]){case"":case"":break;case"=1&&(t.xlmeta=function(e,t,r){return".bin"===t.slice(-4)?function(e,t,r){var a={Types:[],Cell:[],Value:[]},n=r||{},s=[],i=!1,o=2;return Wr(e,function(e,t,r){switch(r){case 335:a.Types.push({name:e.name});break;case 51:e.forEach(function(e){1==o?a.Cell.push({type:a.Types[e[0]-1].name,index:e[1]}):0==o&&a.Value.push({type:a.Types[e[0]-1].name,index:e[1]})});break;case 337:o=e?1:0;break;case 338:o=2;break;case 35:s.push(r),i=!0;break;case 36:s.pop(),i=!1;break;default:if(t.T);else if(!i||n.WTF&&35!=s[s.length-1])throw new Error("Unexpected record 0x"+r.toString(16))}}),a}(e,0,r):function(e,t,r){var a={Types:[],Cell:[],Value:[]};if(!e)return a;var n,s=!1,i=2;return e.replace(mt,function(e){var t=bt(e);switch(wt(t[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":i=2;break;case"":s=!1;break;case"=1&&(t.people=function(e,t){var r=[],a=!1;return e.replace(mt,function(e){var n=bt(e);switch(wt(n[0])){case"":case"":case"":case"":case"":break;case"":a=!1;break;default:if(!a&&t.WTF)throw new Error("unrecognized "+n[0]+" in threaded comments")}return e}),r}(nt(e,mf(i.people[0])),t)),A&&(A=function(e,t){if(!e)return 0;try{e=t.map(function(t){return t.id||(t.id=t.strRelID),[t.name,e["!id"][t.id].Target,(r=e["!id"][t.id].Type,ja.WS.indexOf(r)>-1?"sheet":ja.CS&&r==ja.CS?"chart":ja.DS&&r==ja.DS?"dialog":ja.MS&&r==ja.MS?"macro":r&&r.length?r:"sheet")];var r})}catch(e){return null}return e&&0!==e.length?e:null}(A,f.Sheets));var x=nt(e,"xl/worksheets/sheet.xml",!0)?1:0;e:for(w=0;w!=h.Worksheets;++w){var C="sheet";if(A&&A[w]?(v="xl/"+A[w][1].replace(/[\/]?xl\//,""),rt(e,v)||(v=A[w][1]),rt(e,v)||(v=_.replace(/_rels\/.*$/,"")+A[w][1]),C=A[w][2]):v=(v="xl/worksheets/sheet"+(w+1-x)+"."+S).replace(/sheet0\./,"sheet."),b=v.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),t&&null!=t.sheets)switch(typeof t.sheets){case"number":if(w!=t.sheets)continue e;break;case"string":if(h.SheetNames[w].toLowerCase()!=t.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(t.sheets)){for(var O=!1,R=0;R!=t.sheets.length;++R)"number"==typeof t.sheets[R]&&t.sheets[R]==w&&(O=1),"string"==typeof t.sheets[R]&&t.sheets[R].toLowerCase()==h.SheetNames[w].toLowerCase()&&(O=1);if(!O)continue e}}pf(e,v,b,h.SheetNames[w],w,T,a,C,t,f,c,l)}return p={Directory:i,Workbook:f,Props:h,Custprops:d,Deps:g,Sheets:a,SheetNames:h.SheetNames,Strings:Xo,Styles:l,Themes:c,SSF:Ye(H)},t&&t.bookFiles&&(e.files?(p.keys=s,p.files=e.files):(p.keys=[],p.files={},e.FullPaths.forEach(function(t,r){t=t.replace(/^Root Entry[\/]/,""),p.keys.push(t),p.files[t]=e.FileIndex[r]}))),t&&t.bookVBA&&(i.vba.length>0?p.vbaraw=nt(e,mf(i.vba[0]),!0):i.defaults&&"application/vnd.ms-office.vbaProject"===i.defaults.bin&&(p.vbaraw=nt(e,"xl/vbaProject.bin",!0))),p}function vf(e,t){var r,a,n=t||{},s="Workbook",i=xe.find(e,s);try{if(s="/!DataSpaces/Version",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(r=i.content,(a={}).id=r.read_shift(0,"lpp4"),a.R=Ks(r,4),a.U=Ks(r,4),a.W=Ks(r,4),s="/!DataSpaces/DataSpaceMap",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var o=function(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(Js(e));return t}(i.content);if(1!==o.length||1!==o[0].comps.length||0!==o[0].comps[0].t||"StrongEncryptionDataSpace"!==o[0].name||"EncryptedPackage"!==o[0].comps[0].v)throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var c=function(e){var t=[];e.l+=4;for(var r=e.read_shift(4);r-- >0;)t.push(e.read_shift(0,"lpp4"));return t}(i.content);if(1!=c.length||"StrongEncryptionTransform"!=c[0])throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);!function(e){var t=function(e){var t={};return e.read_shift(4),e.l+=4,t.id=e.read_shift(0,"lpp4"),t.name=e.read_shift(0,"lpp4"),t.R=Ks(e,4),t.U=Ks(e,4),t.W=Ks(e,4),t}(e);if(t.ename=e.read_shift(0,"8lpp4"),t.blksz=e.read_shift(4),t.cmode=e.read_shift(4),4!=e.read_shift(4))throw new Error("Bad !Primary record")}(i.content)}catch(e){}if(s="/EncryptionInfo",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var l=function(e){var t=Ks(e);switch(t.Minor){case 2:return[t.Minor,Qs(e)];case 3:return[t.Minor,ei()];case 4:return[t.Minor,ti(e)]}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+t.Minor)}(i.content);if(s="/EncryptedPackage",!(i=xe.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(4==l[0]&&"undefined"!=typeof decrypt_agile)return decrypt_agile(l[1],i.content,n.password||"",n);if(2==l[0]&&"undefined"!=typeof decrypt_std76)return decrypt_std76(l[1],i.content,n.password||"",n);throw new Error("File is password-protected")}function bf(e,t){return"ods"==t.bookType?Bl(e,t):"numbers"==t.bookType?function(e,t){if(!t||!t.numbers)throw new Error("Must pass a `numbers` option -- check the README");var r=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error("The Numbers writer currently writes only the first table");var a=Qr(r["!ref"]);a.s.r=a.s.c=0;var n=!1;a.e.c>9&&(n=!0,a.e.c=9),a.e.r>49&&(n=!0,a.e.r=49),n&&console.error("The Numbers writer is currently limited to ".concat(ea(a)));var s=Lf(r,{range:a,header:1}),i=["~Sh33tJ5~"];s.forEach(function(e){return e.forEach(function(e){"string"==typeof e&&i.push(e)})});var o={},c=[],l=xe.read(t.numbers,{type:"base64"});l.FileIndex.map(function(e,t){return[e,l.FullPaths[t]]}).forEach(function(e){var t=e[0],r=e[1];2==t.type&&t.name.match(/\.iwa/)&&ql(ef(t.content)).forEach(function(e){c.push(e.id),o[e.id]={deps:[],location:r,type:$l(e.messages[0].meta[1][0].data)}})}),c.sort(function(e,t){return e-t});var f=c.filter(function(e){return e>1}).map(function(e){return[e,Xl(e)]});l.FileIndex.map(function(e,t){return[e,l.FullPaths[t]]}).forEach(function(e){var t=e[0];e[1],t.name.match(/\.iwa/)&&ql(ef(t.content)).forEach(function(e){e.messages.forEach(function(t){f.forEach(function(t){e.messages.some(function(e){return 11006!=$l(e.meta[1][0].data)&&function(e,t){e:for(var r=0;r<=e.length-t.length;++r){for(var a=0;a-1,n={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};df(t=t||{});var s=lt(),i="",o=0;if(t.cellXfs=[],Zo(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),ct(s,i="docProps/core.xml",an(e.Props,t)),n.coreprops.push(i),Ka(t.rels,2,i,ja.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var c=[],l=0;l0&&(ct(s,i="docProps/custom.xml",fn(e.Custprops)),n.custprops.push(i),Ka(t.rels,4,i,ja.CUST_PROPS)),o=1;o<=e.SheetNames.length;++o){var f={"!id":{}},h=e.Sheets[e.SheetNames[o-1]];if((h||{})["!type"],ct(s,i="xl/worksheets/sheet"+o+"."+r,Vc(o-1,i,t,e,f)),n.sheets.push(i),Ka(t.wbrels,-1,"worksheets/sheet"+o+"."+r,ja.WS[0]),h){var u=h["!comments"],d=!1,p="";u&&u.length>0&&(ct(s,p="xl/comments"+o+"."+r,Gc(u,p,t)),n.comments.push(p),Ka(f,-1,"../comments"+o+"."+r,ja.CMNT),d=!0),h["!legacy"]&&d&&ct(s,"xl/drawings/vmlDrawing"+o+".vml",ji(o,h["!comments"])),delete h["!comments"],delete h["!legacy"]}f["!id"].rId1&&ct(s,Xa(i),Ya(f))}return null!=t.Strings&&t.Strings.length>0&&(ct(s,i="xl/sharedStrings."+r,function(e,t,r){return(".bin"===t.slice(-4)?$s:js)(e,r)}(t.Strings,i,t)),n.strs.push(i),Ka(t.wbrels,-1,"sharedStrings."+r,ja.SST)),ct(s,i="xl/workbook."+r,function(e,t,r){return(".bin"===t.slice(-4)?Hc:Uc)(e,r)}(e,i,t)),n.workbooks.push(i),Ka(t.rels,1,i,ja.WB),ct(s,i="xl/theme/theme1.xml",Bi(e.Themes,t)),n.themes.push(i),Ka(t.wbrels,-1,"theme/theme1.xml",ja.THEME),ct(s,i="xl/styles."+r,function(e,t,r){return(".bin"===t.slice(-4)?Oi:Ti)(e,r)}(e,i,t)),n.styles.push(i),Ka(t.wbrels,-1,"styles."+r,ja.STY),e.vbaraw&&a&&(ct(s,i="xl/vbaProject.bin",e.vbaraw),n.vba.push(i),Ka(t.wbrels,-1,"vbaProject.bin",ja.VBA)),ct(s,i="xl/metadata."+r,(".bin"===i.slice(-4)?zi:Vi)()),n.metadata.push(i),Ka(t.wbrels,-1,"metadata."+r,ja.XLMETA),ct(s,"[Content_Types].xml",Ga(n,t)),ct(s,"_rels/.rels",Ya(t.rels)),ct(s,"xl/_rels/workbook."+r+".rels",Ya(t.wbrels)),delete t.revssf,delete t.ssf,s}(e,t):wf(e,t)}function wf(e,t){Gi=1024,e&&!e.SSF&&(e.SSF=Ye(H)),e&&e.SSF&&(ye(),Ee(e.SSF),t.revssf=Pe(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,Yo?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r="xml",a=qi.indexOf(t.bookType)>-1,n={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};df(t=t||{});var s=lt(),i="",o=0;if(t.cellXfs=[],Zo(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),ct(s,i="docProps/core.xml",an(e.Props,t)),n.coreprops.push(i),Ka(t.rels,2,i,ja.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var c=[],l=0;l0&&(ct(s,i="docProps/custom.xml",fn(e.Custprops)),n.custprops.push(i),Ka(t.rels,4,i,ja.CUST_PROPS));var f=["SheetJ5"];for(t.tcid=0,o=1;o<=e.SheetNames.length;++o){var h={"!id":{}},u=e.Sheets[e.SheetNames[o-1]];if((u||{})["!type"],ct(s,i="xl/worksheets/sheet"+o+"."+r,vc(o-1,t,e,h)),n.sheets.push(i),Ka(t.wbrels,-1,"worksheets/sheet"+o+"."+r,ja.WS[0]),u){var d=u["!comments"],p=!1,m="";if(d&&d.length>0){var g=!1;d.forEach(function(e){e[1].forEach(function(e){1==e.T&&(g=!0)})}),g&&(ct(s,m="xl/threadedComments/threadedComment"+o+"."+r,Yi(d,f,t)),n.threadedcomments.push(m),Ka(h,-1,"../threadedComments/threadedComment"+o+"."+r,ja.TCMNT)),ct(s,m="xl/comments"+o+"."+r,$i(d)),n.comments.push(m),Ka(h,-1,"../comments"+o+"."+r,ja.CMNT),p=!0}u["!legacy"]&&p&&ct(s,"xl/drawings/vmlDrawing"+o+".vml",ji(o,u["!comments"])),delete u["!comments"],delete u["!legacy"]}h["!id"].rId1&&ct(s,Xa(i),Ya(h))}return null!=t.Strings&&t.Strings.length>0&&(ct(s,i="xl/sharedStrings."+r,js(t.Strings,t)),n.strs.push(i),Ka(t.wbrels,-1,"sharedStrings."+r,ja.SST)),ct(s,i="xl/workbook."+r,Uc(e)),n.workbooks.push(i),Ka(t.rels,1,i,ja.WB),ct(s,i="xl/theme/theme1.xml",Bi(e.Themes,t)),n.themes.push(i),Ka(t.wbrels,-1,"theme/theme1.xml",ja.THEME),ct(s,i="xl/styles."+r,Ti(e,t)),n.styles.push(i),Ka(t.wbrels,-1,"styles."+r,ja.STY),e.vbaraw&&a&&(ct(s,i="xl/vbaProject.bin",e.vbaraw),n.vba.push(i),Ka(t.wbrels,-1,"vbaProject.bin",ja.VBA)),ct(s,i="xl/metadata."+r,Vi()),n.metadata.push(i),Ka(t.wbrels,-1,"metadata."+r,ja.XLMETA),f.length>1&&(ct(s,i="xl/persons/person.xml",function(e){var t=[ut,Xt("personList",null,{xmlns:qt,"xmlns:x":tr[0]}).replace(/[\/]>/,">")];return e.forEach(function(e,r){t.push(Xt("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+r).slice(-12)+"}",userId:e,providerId:"None"}))}),t.push(""),t.join("")}(f)),n.people.push(i),Ka(t.wbrels,-1,"persons/person.xml",ja.PEOPLE)),ct(s,"[Content_Types].xml",Ga(n,t)),ct(s,"_rels/.rels",Ya(t.rels)),ct(s,"xl/_rels/workbook.xml.rels",Ya(t.wbrels)),delete t.revssf,delete t.ssf,s}function Tf(e,t){var r="";switch((t||{}).type||"base64"){case"buffer":case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":r=T(e.slice(0,12));break;case"binary":r=e;break;default:throw new Error("Unrecognized type "+(t&&t.type||"undefined"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3),r.charCodeAt(4),r.charCodeAt(5),r.charCodeAt(6),r.charCodeAt(7)]}function Ef(e,t){var r=0;e:for(;r=2&&0===a[3])return Ds.to_workbook(n,r);if(0===a[2]&&(8===a[3]||9===a[3]))return Ds.to_workbook(n,r)}break;case 3:case 131:case 139:case 140:return Os.to_workbook(n,r);case 123:if(92===a[1]&&114===a[2]&&116===a[3])return ni.to_workbook(n,r);break;case 10:case 13:case 32:return function(e,t){var r="",a=Tf(e,t);switch(t.type){case"base64":r=T(e);break;case"binary":r=e;break;case"buffer":r=e.toString("binary");break;case"array":r=$e(e);break;default:throw new Error("Unrecognized type "+t.type)}return 239==a[0]&&187==a[1]&&191==a[2]&&(r=Pt(r)),t.type="binary",Ef(r,t)}(n,r);case 137:if(80===a[1]&&78===a[2]&&71===a[3])throw new Error("PNG Image File is not a spreadsheet")}return Cs.indexOf(a[0])>-1&&a[2]<=12&&a[3]<=31?Os.to_workbook(n,r):yf(e,n,r,s)}function kf(e,t){var r=t||{};return r.type="file",Sf(e,r)}function _f(e,t){switch(t.type){case"base64":case"binary":break;case"buffer":case"array":t.type="";break;case"file":return Ie(t.file,xe.write(e,{type:E?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");default:throw new Error("Unrecognized type "+t.type)}return xe.write(e,t)}function Af(e,t){var r={},a=E?"nodebuffer":"undefined"!=typeof Uint8Array?"array":"string";if(t.compression&&(r.compression="DEFLATE"),t.password)r.type=a;else switch(t.type){case"base64":r.type="base64";break;case"binary":r.type="string";break;case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");case"buffer":case"file":r.type=a;break;default:throw new Error("Unrecognized type "+t.type)}var n=e.FullPaths?xe.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[r.type]||r.type,compression:!!t.compression}):e.generate(r);if("undefined"!=typeof Deno&&"string"==typeof n){if("binary"==t.type||"base64"==t.type)return n;n=new Uint8Array(A(n))}return t.password&&"undefined"!=typeof encrypt_agile?_f(encrypt_agile(n,t.password),t):"file"===t.type?Ie(t.file,n):"string"==t.type?Pt(n):n}function xf(e,t,r){r||(r="");var a=r+e;switch(t.type){case"base64":return w(Lt(a));case"binary":return Lt(a);case"string":return e;case"file":return Ie(t.file,a,"utf8");case"buffer":return E?y(a,"utf8"):"undefined"!=typeof TextEncoder?(new TextEncoder).encode(a):xf(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})}throw new Error("Unrecognized type "+t.type)}function Cf(e,t){switch(t.type){case"string":case"base64":case"binary":for(var r="",a=0;a-1||sn.indexOf(s[i][0])>-1||null!=s[i][1]&&l.push(s[i]);n.length&&xe.utils.cfb_add(t,"/SummaryInformation",On(n,hl,c,Pa)),(a.length||l.length)&&xe.utils.cfb_add(t,"/DocumentSummaryInformation",On(a,ul,o,Da,l.length?l:null,"05d5cdd59c2e1b10939708002b2cf9ae"))}(e,a),8==r.biff&&e.vbaraw&&function(e,t){t.FullPaths.forEach(function(r,a){if(0!=a){var n=r.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");"/"!==n.slice(-1)&&xe.utils.cfb_add(e,n,t.FileIndex[a].content)}})}(a,xe.read(e.vbaraw,{type:"string"==typeof e.vbaraw?"binary":"buffer"})),a}(e,r),r)}(e,r);case"xlsx":case"xlsm":case"xlam":case"xlsb":case"numbers":case"ods":return function(e,t){var r=Ye(t||{});return Af(bf(e,r),r)}(e,r);default:throw new Error("Unrecognized bookType |"+r.bookType+"|")}}function If(e){if(!e.bookType){var t=e.file.slice(e.file.lastIndexOf(".")).toLowerCase();t.match(/^\.[a-z]+$/)&&(e.bookType=t.slice(1)),e.bookType={xls:"biff8",htm:"html",slk:"sylk",socialcalc:"eth",Sh33tJS:"WTF"}[e.bookType]||e.bookType}}function Nf(e,t,r){var a=r||{};return a.type="file",a.file=t,If(a),Rf(e,a)}function Ff(e,t,r){var a=r||{};return a.type="file",a.file=t,If(a),Of(e,a)}function Df(e,t,r,a){var n=r||{};n.type="file",n.file=e,If(n),n.type="buffer";var s=a;return s instanceof Function||(s=r),Ce.writeFile(e,Rf(t,n),s)}function Pf(e,t,r,a,n,s,i,o){var c=Yr(r),l=o.defval,f=o.raw||!Object.prototype.hasOwnProperty.call(o,"raw"),h=!0,u=1===n?[]:{};if(1!==n)if(Object.defineProperty)try{Object.defineProperty(u,"__rowNum__",{value:r,enumerable:!1})}catch(e){u.__rowNum__=r}else u.__rowNum__=r;if(!i||e[r])for(var d=t.s.c;d<=t.e.c;++d){var p=i?e[r][d]:e[a[d]+c];if(void 0!==p&&void 0!==p.t){var m=p.v;switch(p.t){case"z":if(null==m)break;continue;case"e":m=0==m?null:void 0;break;case"s":case"d":case"b":case"n":break;default:throw new Error("unrecognized type "+p.t)}if(null!=s[d]){if(null==m)if("e"==p.t&&null===m)u[s[d]]=null;else if(void 0!==l)u[s[d]]=l;else{if(!f||null!==m)continue;u[s[d]]=null}else u[s[d]]=f&&("n"!==p.t||"n"===p.t&&!1!==o.rawNumbers)?m:ra(p,m,o);null!=m&&(h=!1)}}else{if(void 0===l)continue;null!=s[d]&&(u[s[d]]=l)}}return{row:u,isempty:h}}function Lf(e,t){if(null==e||null==e["!ref"])return[];var r={t:"n",v:0},a=0,n=1,s=[],i=0,o="",c={s:{r:0,c:0},e:{r:0,c:0}},l=t||{},f=null!=l.range?l.range:e["!ref"];switch(1===l.header?a=1:"A"===l.header?a=2:Array.isArray(l.header)?a=3:null==l.header&&(a=0),typeof f){case"string":c=ta(f);break;case"number":(c=ta(e["!ref"])).s.r=f;break;default:c=f}a>0&&(n=0);var h=Yr(c.s.r),u=[],d=[],p=0,m=0,g=Array.isArray(e),v=c.s.r,b=0,w={};g&&!e[v]&&(e[v]=[]);var T=l.skipHidden&&e["!cols"]||[],E=l.skipHidden&&e["!rows"]||[];for(b=c.s.c;b<=c.e.c;++b)if(!(T[b]||{}).hidden)switch(u[b]=Jr(b),r=g?e[v][b]:e[u[b]+h],a){case 1:s[b]=b-c.s.c;break;case 2:s[b]=u[b];break;case 3:s[b]=l.header[b-c.s.c];break;default:if(null==r&&(r={w:"__EMPTY",t:"s"}),o=i=ra(r,null,l),m=w[i]||0){do{o=i+"_"+m++}while(w[o]);w[i]=m,w[o]=1}else w[i]=1;s[b]=o}for(v=c.s.r+n;v<=c.e.r;++v)if(!(E[v]||{}).hidden){var y=Pf(e,c,v,u,a,s,g,l);(!1===y.isempty||(1===a?!1!==l.blankrows:l.blankrows))&&(d[p++]=y.row)}return d.length=p,d}var Mf=/"/g;function Uf(e,t,r,a,n,s,i,o){for(var c=!0,l=[],f="",h=Yr(r),u=t.s.c;u<=t.e.c;++u)if(a[u]){var d=o.dense?(e[r]||[])[u]:e[a[u]+h];if(null==d)f="";else if(null!=d.v){c=!1,f=""+(o.rawNumbers&&"n"==d.t?d.v:ra(d,null,o));for(var p=0,m=0;p!==f.length;++p)if((m=f.charCodeAt(p))===n||m===s||34===m||o.forceQuotes){f='"'+f.replace(Mf,'""')+'"';break}"ID"==f&&(f='"ID"')}else null==d.f||d.F?f="":(c=!1,(f="="+d.f).indexOf(",")>=0&&(f='"'+f.replace(Mf,'""')+'"'));l.push(f)}return!1===o.blankrows&&c?null:l.join(i)}function Bf(e,t){var r=[],a=null==t?{}:t;if(null==e||null==e["!ref"])return"";var n=ta(e["!ref"]),s=void 0!==a.FS?a.FS:",",i=s.charCodeAt(0),o=void 0!==a.RS?a.RS:"\n",c=o.charCodeAt(0),l=new RegExp(("|"==s?"\\|":s)+"+$"),f="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=Jr(p));for(var m=0,g=n.s.r;g<=n.e.r;++g)(d[g]||{}).hidden||null!=(f=Uf(e,n,g,h,i,c,s,a))&&(a.strip&&(f=f.replace(l,"")),(f||!1!==a.blankrows)&&r.push((m++?o:"")+f));return delete a.dense,r.join("")}function Wf(e,t){t||(t={}),t.FS="\t",t.RS="\n";var r=Bf(e,t);if(void 0===d||"string"==t.type)return r;var a=d.utils.encode(1200,r,"str");return String.fromCharCode(255)+String.fromCharCode(254)+a}function Hf(e,t,r){var a,n=r||{},s=+!n.skipHeader,i=e||{},o=0,c=0;if(i&&null!=n.origin)if("number"==typeof n.origin)o=n.origin;else{var l="string"==typeof n.origin?qr(n.origin):n.origin;o=l.r,c=l.c}var f={s:{c:0,r:0},e:{c,r:o+t.length-1+s}};if(i["!ref"]){var h=ta(i["!ref"]);f.e.c=Math.max(f.e.c,h.e.c),f.e.r=Math.max(f.e.r,h.e.r),-1==o&&(o=h.e.r+1,f.e.r=o+t.length-1+s)}else-1==o&&(o=0,f.e.r=t.length-1+s);var u=n.header||[],d=0;t.forEach(function(e,t){Ne(e).forEach(function(r){-1==(d=u.indexOf(r))&&(u[d=u.length]=r);var l=e[r],f="z",h="",p=Zr({c:c+d,r:o+t+s});a=zf(i,p),!l||"object"!=typeof l||l instanceof Date?("number"==typeof l?f="n":"boolean"==typeof l?f="b":"string"==typeof l?f="s":l instanceof Date?(f="d",n.cellDates||(f="n",l=Me(l)),h=n.dateNF||H[14]):null===l&&n.nullError&&(f="e",l=0),a?(a.t=f,a.v=l,delete a.w,delete a.R,h&&(a.z=h)):i[p]=a={t:f,v:l},h&&(a.z=h)):i[p]=l})}),f.e.c=Math.max(f.e.c,c+u.length-1);var p=Yr(o);if(s)for(d=0;d=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(r)>=0){var s=r.match(/(^.*?)(\d+)$/);n=s&&+s[2]||0;var i=s&&s[1]||r;for(++n;n<=65535&&-1!=e.SheetNames.indexOf(r=i+n);++n);}if(Pc(r),e.SheetNames.indexOf(r)>=0)throw new Error("Worksheet with name |"+r+"| already exists!");return e.SheetNames.push(r),e.Sheets[r]=t,r}function Gf(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e}var jf,Xf={encode_col:Jr,encode_row:Yr,encode_cell:Zr,encode_range:ea,decode_col:Kr,decode_row:$r,split_cell:function(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")},decode_cell:qr,decode_range:Qr,format_cell:ra,sheet_add_aoa:na,sheet_add_json:Hf,sheet_add_dom:Ol,aoa_to_sheet:sa,json_to_sheet:function(e,t){return Hf(null,e,t)},table_to_sheet:Rl,table_to_book:function(e,t){return aa(Rl(e,t),t)},sheet_to_csv:Bf,sheet_to_txt:Wf,sheet_to_json:Lf,sheet_to_html:Cl,sheet_to_formulae:function(e){var t,r="",a="";if(null==e||null==e["!ref"])return[];var n,s=ta(e["!ref"]),i="",o=[],c=[],l=Array.isArray(e);for(n=s.s.c;n<=s.e.c;++n)o[n]=Jr(n);for(var f=s.s.r;f<=s.e.r;++f)for(i=Yr(f),n=s.s.c;n<=s.e.c;++n)if(r=o[n]+i,a="",void 0!==(t=l?(e[f]||[])[n]:e[r])){if(null!=t.F){if(r=t.F,!t.f)continue;a=t.f,-1==r.indexOf(":")&&(r=r+":"+r)}if(null!=t.f)a=t.f;else{if("z"==t.t)continue;if("n"==t.t&&null!=t.v)a=""+t.v;else if("b"==t.t)a=t.v?"TRUE":"FALSE";else if(void 0!==t.w)a="'"+t.w;else{if(void 0===t.v)continue;a="s"==t.t?"'"+t.v:""+t.v}}c[c.length]=r+"="+a}return c},sheet_to_row_object_array:Lf,sheet_get_cell:zf,book_new:function(){return{SheetNames:[],Sheets:{}}},book_append_sheet:Vf,book_set_sheet_visibility:function(e,t,r){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=function(e,t){if("number"==typeof t){if(t>=0&&e.SheetNames.length>t)return t;throw new Error("Cannot find sheet # "+t)}if("string"==typeof t){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error("Cannot find sheet name |"+t+"|")}throw new Error("Cannot find sheet |"+t+"|")}(e,t);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+r)}e.Workbook.Sheets[a].Hidden=r},cell_set_number_format:function(e,t){return e.z=t,e},cell_set_hyperlink:Gf,cell_set_internal_link:function(e,t,r){return Gf(e,"#"+t,r)},cell_add_comment:function(e,t,r){e.c||(e.c=[]),e.c.push({t,a:r||"SheetJS"})},sheet_set_array_formula:function(e,t,r,a){for(var n="string"!=typeof t?t:ta(t),s="string"==typeof t?t:ea(t),i=n.s.r;i<=n.e.r;++i)for(var o=n.s.c;o<=n.e.c;++o){var c=zf(e,i,o);c.t="n",c.F=s,delete c.v,i==n.s.r&&o==n.s.c&&(c.f=r,a&&(c.D=!0))}return e},consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}},$f={to_json:function(e,t){var r=jf({objectMode:!0});if(null==e||null==e["!ref"])return r.push(null),r;var a={t:"n",v:0},n=0,s=1,i=[],o=0,c="",l={s:{r:0,c:0},e:{r:0,c:0}},f=t||{},h=null!=f.range?f.range:e["!ref"];switch(1===f.header?n=1:"A"===f.header?n=2:Array.isArray(f.header)&&(n=3),typeof h){case"string":l=ta(h);break;case"number":(l=ta(e["!ref"])).s.r=h;break;default:l=h}n>0&&(s=0);var u=Yr(l.s.r),d=[],p=0,m=Array.isArray(e),g=l.s.r,v=0,b={};m&&!e[g]&&(e[g]=[]);var w=f.skipHidden&&e["!cols"]||[],T=f.skipHidden&&e["!rows"]||[];for(v=l.s.c;v<=l.e.c;++v)if(!(w[v]||{}).hidden)switch(d[v]=Jr(v),a=m?e[g][v]:e[d[v]+u],n){case 1:i[v]=v-l.s.c;break;case 2:i[v]=d[v];break;case 3:i[v]=f.header[v-l.s.c];break;default:if(null==a&&(a={w:"__EMPTY",t:"s"}),c=o=ra(a,null,f),p=b[o]||0){do{c=o+"_"+p++}while(b[c]);b[o]=p,b[c]=1}else b[o]=1;i[v]=c}return g=l.s.r+s,r._read=function(){for(;g<=l.e.r;)if(!(T[g-1]||{}).hidden){var t=Pf(e,l,g,d,n,i,m,f);if(++g,!1===t.isempty||(1===n?!1!==f.blankrows:f.blankrows))return void r.push(t.row)}return r.push(null)},r},to_html:function(e,t){var r=jf(),a=t||{},n=null!=a.header?a.header:_l,s=null!=a.footer?a.footer:Al;r.push(n);var i=Qr(e["!ref"]);a.dense=Array.isArray(e),r.push(xl(0,0,a));var o=i.s.r,c=!1;return r._read=function(){if(o>i.e.r)return c||(c=!0,r.push(""+s)),r.push(null);for(;o<=i.e.r;){r.push(kl(e,i,o,a)),++o;break}},r},to_csv:function(e,t){var r=jf(),a=null==t?{}:t;if(null==e||null==e["!ref"])return r.push(null),r;var n=ta(e["!ref"]),s=void 0!==a.FS?a.FS:",",i=s.charCodeAt(0),o=void 0!==a.RS?a.RS:"\n",c=o.charCodeAt(0),l=new RegExp(("|"==s?"\\|":s)+"+$"),f="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=Jr(p));var m=n.s.r,g=!1,v=0;return r._read=function(){if(!g)return g=!0,r.push("\ufeff");for(;m<=n.e.r;)if(++m,!(d[m-1]||{}).hidden&&null!=(f=Uf(e,n,m-1,h,i,c,s,a))&&(a.strip&&(f=f.replace(l,"")),f||!1!==a.blankrows))return r.push((v++?o:"")+f);return r.push(null)},r},set_readable:function(e){jf=e}};const Yf=a;r.d(t,["version",0,Yf])}}]); //# sourceMappingURL=async-export.js.map \ No newline at end of file diff --git a/dash/dash_table/async-export.js.map b/dash/dash_table/async-export.js.map index 93d1da5e9d..96347d96b9 100644 --- a/dash/dash_table/async-export.js.map +++ b/dash/dash_table/async-export.js.map @@ -1 +1 @@ -{"version":3,"file":"async-export.js","mappings":"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hM,EAjEvB,IAkEA,IAAuBgM,EAAA,cAAAhM,EAlEvB,IAmEA,IAAuBgM,EAAA,eAAAhM,EAnEvB,IAoEA,IAAuBgM,EAAA,YAAAhM,EAAA62B,IACvB,IAAuB7qB,EAAA,YAAAhM,EAAA62B,IACvB,IAAuB7qB,EAAA,YAAAhM,EAAA62B,IACvB,IAAuB7qB,EAAA,YAAAhM,EAhEvB,IAiEA,IAAuBgM,EAAA,cAAAhM,EAAA+2B,IACvB,IAAuB/qB,EAAA,cAAAhM,EAAA62B,IACvB,OAEA,YAA6B7qB,EAAA,SAAAhM,EAnF7B,IAoFA,YAA6BgM,EAAA,WAAAhM,EApF7B,IAqFA,eAIAo3B,GAAA,CACA,OACA,OACA,KACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAIAC,GAAA,CACA,KACA,QACA,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,YAGA,SAAAC,GAAA7R,GAA6E,OAAAA,EAAAhnB,IAAA,SAAAzC,GAA6B,OAAAA,GAAA,OAAAA,GAAA,UAAAA,EAAA,EAAwC,CAIlJ,IA4FAu7B,GAAA3R,GA5FA0R,GAAA,CAEA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,SACA,EACA,EA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AA0Y,GAAA7tC,EAAAm1B,EAAAuY,EAAAzmC,GAAA,KAEA,CAGA,IAAA+uD,GAAAD,GAEAE,GAAAF,GAMAG,GAAAH,GAEAI,GAAAJ,GACAlE,GAAA,CACA,SACA,SACA,eACA,cACA,SACA,YACA,gBACA,eACA,UACA,kBACA,UACA,gBACA,iBACA,iBACA,iBACA,UACA,WACA,SACA,oBACA,sBACA,oBACA,uBACA,UACA,aACA,sBACA,eACA,aACA,mBACA,iBACA,eACA,aACA,iBACA,kBACA,kBACA,UACA,iBACA,WACA,mBACA,eACA,WACA,YACA,qBACA,kBACA,UACA,SACA,UACA,WACA,WACA,mBACA,iBACA,YACA,gBACA,eACA,iBACA,kBACA,kBACA,kBACA,sBACA,sBACA,kBACA,iBACA,oBACA,kBACA,iBACA,qBACA,iBACA,eACA,iBACA,eACA,mBACA,UACA,YACA,iBACA,eACA,kBACA,sBACA,cACA,gBACA,aACA,WACA,mBACA,iBACA,iBACA,WACA,aACA,UACA,YACA,eACA,aACA,kBACA,mBACA,oBACA,qBACA,wBACA,wBACA,eACA,oBACA,oBACA,oBACA,oBACA,mBACA,aACA,kBACA,oBACA,YACA,YACA,YACA,YACA,cACA,cACA,YACA,UACA,kBACA,qBACA,cACA,iBACA,mBACA,mBACA,iBACA,kBACA,kBACA,sBACA,gBACA,qBACA,kBACA,mBACA,mBACA,gBACA,YACA,gBACA,cACA,oBACA,cACA,iBACA,iBACA,oBACA,gBACA,iBACA,cACA,WACA,kBACA,cACA,gBACA,qBACA,kBACA,wBACA,oBACA,mBACA,qBACA,sBACA,kBACA,yBACA,aACA,kBACA,eACA,eACA,mBACA,mBACA,qBACA,mBACA,sBACA,yBACA,iBACA,gBACA,gBACA,oBACA,kBACA,mBACA,sBACA,wBACA,sBACA,qBACA,cACA,gBACA,gBACA,iBACA,kBACA,cACA,aACA,kBACA,cACA,wBACA,sBACA,YACA,iBACA,gBACA,kBACA,uBACA,wBACA,kBACA,kBACA,uBACA,mBACA,iBACA,mBACA,oBACA,iBACA,kBACA,kBACA,qBACA,gBACA,kBACA,mBACA,iBACA,iBACA,oBACA,mBACA,sBACA,oBACA,yBACA,eACA,WACA,oBACA,sBACA,iBACA,iBACA,mBACA,qBACA,kBACA,qBACA,yBACA,gBACA,wBACA,eACA,kBACA,qBACA,eACA,mBACA,oBACA,oBACA,uBACA,qBACA,mBACA,kBACA,gBACA,sBACA,wBACA,qBACA,gBACA,iBACA,wBACA,iBACA,mBACA,qBACA,sBACA,mBACA,oBACA,oBACA,yBACA,uBACA,yBACA,6BACA,kBACA,iBACA,uBACA,0BACA,mBACA,mBACA,oBACA,kBACA,sBACA,kBACA,oBACA,sBACA,+BACA,mBACA,qBACA,iBACA,qBACA,gBACA,uBACA,kBACA,4BACA,sBACA,yBACA,sBACA,sBACA,sBACA,yBACA,iBACA,qBACA,mBACA,uBACA,iBACA,mBACA,sBACA,oBACA,oBACA,sBACA,sBACA,oBACA,qBACA,2BACA,8BACA,qBACA,mBACA,gBACA,kBACA,iBACA,qBACA,sBACA,sBACA,oBACA,sBACA,oBACA,oBACA,yBACA,kBACA,uBACA,2BACA,uBACA,sBACA,uBACA,kBACA,qBACA,sBACA,mBACA,mBACA,wBACA,0BACA,0BACA,uBACA,yBACA,yBACA,oBACA,iBACA,gBACA,kBACA,uBACA,oBACA,4BACA,yBACA,aACA,sBACA,oBACA,sBACA,oBACA,oBACA,uBACA,uBACA,wBACA,mBACA,wBACA,2BACA,kBACA,eACA,eACA,iBACA,iBACA,mBACA,mBACA,kBACA,yBACA,6BACA,uBACA,eACA,qBACA,qBACA,mBACA,gBACA,uBACA,uBACA,qBACA,sBACA,wBACA,uBACA,kBACA,oBACA,eACA,gBACA,kBACA,kBACA,uBACA,wBACA,qBACA,gBACA,aACA,aACA,oBACA,uBACA,qBACA,eACA,oBACA,oBACA,kBACA,qBACA,qBACA,wBACA,0BACA,iBACA,kBACA,kBACA,wBACA,mBACA,oBACA,yBAEAJ,GAAA,CACA,UACA,OACA,SACA,YACA,QACA,YACA,QACA,QACA,QACA,WACA,QACA,SACA,WACA,YACA,WACA,SACA,SACA,SACA,UACA,QACA,UACA,SACA,QACA,WACA,SACA,SACA,UACA,WACA,YACA,WACA,UACA,SACA,SACA,WACA,UACA,WACA,SACA,QACA,SACA,SACA,YACA,UACA,cACA,UACA,UACA,YACA,SACA,UACA,UACA,YACA,WACA,YACA,YACA,UACA,UACA,YACA,QACA,QACA,UACA,SACA,UACA,UACA,SACA,UACA,WACA,UACA,UACA,SACA,WACA,UACA,aACA,UACA,YACA,YACA,SACA,WACA,UACA,aACA,YACA,YACA,YACA,cACA,YACA,eACA,WACA,UACA,UACA,UACA,cACA,YACA,WACA,aACA,YACA,eACA,iBACA,eACA,YACA,WACA,UACA,UACA,aACA,cACA,cACA,YACA,YACA,YACA,kBACA,eACA,gBACA,UACA,WACA,WACA,YACA,YACA,aACA,WACA,YACA,YACA,WACA,cACA,iBACA,WACA,YACA,gBACA,WACA,WACA,YACA,aACA,eACA,cACA,QACA,QACA,YACA,aACA,YACA,cACA,YACA,eACA,aACA,WACA,gBACA,gBACA,UACA,UACA,UACA,cACA,cACA,cACA,eACA,eACA,WACA,cACA,eACA,kBACA,qBACA,oBACA,qBACA,eACA,kBACA,qBACA,qBACA,iBACA,YACA,cACA,eACA,YACA,YACA,WACA,WACA,aACA,iBACA,UACA,YACA,YACA,WACA,eACA,cACA,WACA,cACA,gBACA,cACA,WACA,cACA,cACA,WACA,eACA,oBACA,iBACA,mBACA,eACA,gBACA,eACA,WACA,aACA,WACA,cACA,YACA,YACA,gBACA,cACA,iBACA,iBACA,eACA,YACA,cACA,eACA,YACA,aACA,WACA,WACA,cACA,gBACA,UACA,WACA,WACA,cACA,cACA,YACA,UACA,WACA,cACA,aACA,eACA,aACA,iBACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,oBACA,eACA,iBACA,kBACA,oBACA,sBACA,oBACA,eACA,WACA,YACA,iBACA,SACA,YACA,aACA,gBACA,kBACA,qBACA,WACA,oBACA,eACA,kBACA,eACA,qBACA,iBACA,gBACA,mBACA,mBACA,kBACA,iBACA,kBACA,mBACA,aACA,eACA,cACA,cACA,gBACA,cACA,aACA,aACA,iBACA,gBACA,WACA,gBACA,YACA,WACA,aACA,gBACA,YACA,gBACA,eACA,cACA,kBACA,kBACA,aACA,mBACA,eACA,gBACA,cACA,eACA,kBACA,UACA,aACA,cACA,YACA,cACA,cACA,eACA,eACA,cACA,aACA,YACA,eACA,YACA,gBACA,cACA,UACA,YACA,YACA,YACA,WACA,YACA,cACA,cACA,YACA,WACA,WACA,YACA,YACA,YACA,eACA,iBACA,kBACA,WACA,eACA,WACA,oBACA,gBACA,kBACA,YACA,qBACA,sBACA,sBACA,qBACA,cACA,cACA,eACA,YACA,cACA,iBACA,mBACA,wBACA,YACA,cACA,iBACA,mBACA,YACA,kBACA,kBACA,eACA,mBACA,gBACA,eACA,eACA,WACA,WACA,cACA,YACA,aACA,WACA,eACA,oBACA,gBACA,sBACA,mBACA,oBACA,uBACA,kBACA,oBACA,kBACA,eACA,UACA,gBACA,iBACA,yBACA,uBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,YACA,YACA,cACA,YACA,aACA,WACA,aACA,cACA,YACA,YACA,YACA,iBACA,kBACA,gBACA,aACA,cACA,YACA,gBACA,gBACA,iBACA,aACA,eACA,YACA,aACA,aACA,YACA,aACA,UACA,WACA,cACA,cACA,cACA,cACA,WACA,WACA,eACA,eACA,cACA,eACA,WACA,gBACA,gBACA,cACA,iBACA,iBACA,YACA,YACA,eACA,eACA,cACA,aACA,eACA,cACA,YACA,cACA,eACA,gBACA,eACA,iBACA,cACA,cACA,cACA,eACA,gBACA,gBACA,gBACA,gBACA,gBACA,kBACA,cACA,gBACA,eACA,cACA,cACA,cACA,eACA,cACA,kBACA,UACA,kBACA,UACA,iBACA,oBACA,cACA,mBACA,cACA,eACA,aACA,gBACA,kBAEAD,GAAA,CACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA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CA,oBACA,iBACA,0BACA,aACA,eACA,gBACA,oBACA,eACA,wBACA,qBACA,kBACA,qBACA,kBACA,kBACA,sBACA,yBACA,wBACA,2BACA,4BACA,wBACA,QAAAnwD,IAAA,EACM,MAGN,wBAAAmwD,EAAA,IACA,gBACA,eACA,gBACA,eACA,eACA,aACA,mBACA,QAAAnwD,IAAA,EACM,MAGN,wBAAAmwD,EAAA,IACA,uBACA,0BACA,oBACA,yBACA,QAAAnwD,IAAA,EACM,MAGN,wBAAAmwD,EAAA,IACA,SACA,qBACA,wBACA,kBACA,gBACA,yBACA,qBACA,gBACA,iBACA,iBACA,kBACA,kBACA,eACA,aACA,iBACA,qBACA,yBACA,yBACA,aACA,aACA,cACA,wBACA,2BACA,qBACA,gBACA,iBACA,UACA,YACA,qBACA,sBACA,+BACA,QAAAnwD,IAAA,EACM,MAEN,qBACA,OAAAmwD,EAAA,IACA,YAEA,WACA,UACA,UACA,WACA,iBACA,YACA,oBACA,YACA,iBACA,mBACA,iBACA,mBACA,iBACA,gBACA,gBACA,gBACA,gBACA,eACA,aACA,aACA,aAEA,0BACA,QAAAnwD,IAAA,EACM,MAEN,cACA,4BACA,OAAAmwD,EAAA,IACA,YACA,WACA,UACA,UACA,WACA,iBACA,YACA,oBACA,YACA,iBACA,mBACA,iBACA,oBACA,mBACA,iBACA,gBACA,gBACA,gBACA,gBACA,eACA,aACA,aACA,mBACA,QAAAnwD,IAAA,EACM,MAGN,6CAAAmwD,EAAA,IACA,UACA,YACA,YACA,YACA,YACA,cACA,eACA,gBACA,kBACA,oBAEA,aACA,cACA,kBACA,eACA,UACA,gBACA,cAEA,gBACA,QAAAnwD,IAAA,EACM,MAGN,sBAEA,QAAAA,IAAA,EAEA,GAAAA,GAAA,MAEA,GAAAmwD,EAAA,GAAAt8D,MAAA,kBACA,IAAAuN,EAAAA,EAAAhY,OAAA,gCAAA+mE,EAAA,OAAA/uD,EAAA3X,KAAA,KACA,gCAAA2X,EAAAA,EAAAhY,OAAA,OACA,UAAA+mE,EAAA,GAAApmE,OAAA,SACA,MAA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zB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyB,EACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GAC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MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyB,EACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,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A,WACA,kBAGA,mBACA,eAEA,gBACA,0BACA,yBACA,mBACA,oBACA,sBACA,aACA,iBACA,gBACA,uBAEA,8BACA,8BACA,4BAGA,uBACA,sBACA,sBACA,mBACA,sBACA,mBACA,2BACA,iBACA,qBACA,wBACA,oBACA,kBACA,yBACA,qBACA,+BACA,kBACA,sBACA,cACA,gBACA,oBACA,iBAGA,qBAGA,sBACA,oBACA,iBACA,gBACA,yBACA,mBACA,uBACA,qBAIA,kBAIA,kBACA,iBACA,WAGA,wBACA,gBACA,gBACA,wBAGA,uBACA,wBACA,qBACA,uBACA,uBACA,2BACA,0BACA,yBACA,wBACA,8BACA,2BACA,6BACA,iCACA,wBACA,uBACA,8BAIA,WAIA,2BACA,0BACA,eACA,iBAGA,iBACA,eAeA,uBACA,6BACA,yCA9PA,mBACA,uBACA,iBACA,iBACA,SAAAvZ,EAAA,IAEA,GADAyZ,EAAAN,EAAA/oE,MAAAyxC,GACAlkC,EAAA1M,EAAA8B,OAAA,KAAAitD,EAAA,sBAAAriD,MACM,MAAAqiD,EAAA,GAAAjlE,OAAAilE,EAAA,GAAA/mE,OAAA,KACN4oD,EAAA,GACAs3B,EAAAzyD,GAAAs5C,EAAA,OACA/uD,EAAAnB,KAAA,CAAAkwD,EAAA,SACM,MAmBN,aAUA,UACA,YACA,WACA,UACA,kBACA,mBACA,cACA,YACA,cACA,cACA,YACA,OAAA/uD,EAAAA,EAAAhY,OAAA,OACA,iBACA,iBACA0tB,EAAAD,GAAAs5C,EAAA,OACAne,GAAA02B,GAAAvY,EAAA,aAAAr5C,EAAAue,MAAA,KACM,MAKN,WACA,UAAA86B,EAAA,GAAApmE,OAAA,SACA,SAAAomE,EAAA,UAAA/uD,EAAAA,EAAAhY,OAAA,OACA,mBACA,iBACA,iBACA4oD,GAAAt9C,EAAA3K,MAAAsnE,EAAAlB,EAAA5rC,YAGA8sC,EAAAlB,EAAA5rC,MAAA4rC,EAAA,GAAA/mE,OACA,MAEA,kBAEA6gF,EAAA3qB,IADAxoC,EAAAD,GAAAs5C,EAAA,QACA,uBACA,IAAAqa,EAAA,CAAmBr0C,KAAArf,EA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","sources":["webpack://dash_table/./node_modules/xlsx/xlsx.mjs"],"sourcesContent":["/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */\nvar XLSX = {};\nXLSX.version = '0.18.5';\nvar current_codepage = 1200, current_ansi = 1252;\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ];\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n\t/*::[*/0/*::]*/: 1252, /* ANSI */\n\t/*::[*/1/*::]*/: 65001, /* DEFAULT */\n\t/*::[*/2/*::]*/: 65001, /* SYMBOL */\n\t/*::[*/77/*::]*/: 10000, /* MAC */\n\t/*::[*/128/*::]*/: 932, /* SHIFTJIS */\n\t/*::[*/129/*::]*/: 949, /* HANGUL */\n\t/*::[*/130/*::]*/: 1361, /* JOHAB */\n\t/*::[*/134/*::]*/: 936, /* GB2312 */\n\t/*::[*/136/*::]*/: 950, /* CHINESEBIG5 */\n\t/*::[*/161/*::]*/: 1253, /* GREEK */\n\t/*::[*/162/*::]*/: 1254, /* TURKISH */\n\t/*::[*/163/*::]*/: 1258, /* VIETNAMESE */\n\t/*::[*/177/*::]*/: 1255, /* HEBREW */\n\t/*::[*/178/*::]*/: 1256, /* ARABIC */\n\t/*::[*/186/*::]*/: 1257, /* BALTIC */\n\t/*::[*/204/*::]*/: 1251, /* RUSSIAN */\n\t/*::[*/222/*::]*/: 874, /* THAI */\n\t/*::[*/238/*::]*/: 1250, /* EASTEUROPE */\n\t/*::[*/255/*::]*/: 1252, /* OEM */\n\t/*::[*/69/*::]*/: 6969 /* MISC */\n}/*:any*/);\n\nvar set_ansi = function(cp/*:number*/) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data/*:string*/)/*:Array*/ { var o/*:Array*/ = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data/*:string*/)/*:string*/ {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\n\nvar $cptable;\nfunction set_cptable(cptable) {\n\t$cptable = cptable;\n\tset_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data/*:string*/) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return $cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x/*:number*/)/*:string*/ {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn $cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x/*:number*/)/*:string*/ {\n\t\treturn $cptable.utils.decode(current_ansi, [x])[0];\n\t};\n\tcpdoit();\n}\nexport { set_cptable };\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64_map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nfunction Base64_encode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n for (var i = 0; i < input.length; ) {\n c1 = input.charCodeAt(i++);\n e1 = c1 >> 2;\n c2 = input.charCodeAt(i++);\n e2 = (c1 & 3) << 4 | c2 >> 4;\n c3 = input.charCodeAt(i++);\n e3 = (c2 & 15) << 2 | c3 >> 6;\n e4 = c3 & 63;\n if (isNaN(c2)) {\n e3 = e4 = 64;\n } else if (isNaN(c3)) {\n e4 = 64;\n }\n o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);\n }\n return o;\n}\nfunction Base64_decode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n input = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n for (var i = 0; i < input.length; ) {\n e1 = Base64_map.indexOf(input.charAt(i++));\n e2 = Base64_map.indexOf(input.charAt(i++));\n c1 = e1 << 2 | e2 >> 4;\n o += String.fromCharCode(c1);\n e3 = Base64_map.indexOf(input.charAt(i++));\n c2 = (e2 & 15) << 4 | e3 >> 2;\n if (e3 !== 64) {\n o += String.fromCharCode(c2);\n }\n e4 = Base64_map.indexOf(input.charAt(i++));\n c3 = (e3 & 3) << 6 | e4;\n if (e4 !== 64) {\n o += String.fromCharCode(c3);\n }\n }\n return o;\n}\nvar has_buf = /*#__PURE__*/(function() { return typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node; })();\n\nvar Buffer_from = /*#__PURE__*/(function() {\n\tif(typeof Buffer !== 'undefined') {\n\t\tvar nbfs = !Buffer.from;\n\t\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\t\treturn nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t}\n\treturn function() {};\n})();\n\n\nfunction new_raw_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.alloc ? Buffer.alloc(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s/*:string*/)/*:any*/ {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x/*:string*/)/*:number*/{ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s/*:string*/)/*:any*/ {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data/*:any*/)/*:string*/ {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o/*:Array*/ = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data/*:Array*/)/*:Uint8Array*/ {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data/*:ArrayBuffer|Uint8Array*/)/*:Array*/ {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\n\t/*:: if(data instanceof ArrayBuffer) throw new Error(\"unreachable\"); */\n\tvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = has_buf ? function(bufs) { return Buffer.concat(bufs.map(function(buf) { return Buffer.isBuffer(buf) ? buf : Buffer_from(buf); })); } : function(bufs) {\n\tif(typeof Uint8Array !== \"undefined\") {\n\t\tvar i = 0, maxlen = 0;\n\t\tfor(i = 0; i < bufs.length; ++i) maxlen += bufs[i].length;\n\t\tvar o = new Uint8Array(maxlen);\n\t\tvar len = 0;\n\t\tfor(i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) {\n\t\t\tlen = bufs[i].length;\n\t\t\tif(bufs[i] instanceof Uint8Array) o.set(bufs[i], maxlen);\n\t\t\telse if(typeof bufs[i] == \"string\") { throw \"wtf\"; }\n\t\t\telse o.set(new Uint8Array(bufs[i]), maxlen);\n\t\t}\n\t\treturn o;\n\t}\n\treturn [].concat.apply([], bufs.map(function(buf) { return Array.isArray(buf) ? buf : [].slice.call(buf); }));\n};\n\nfunction utf8decode(content/*:string*/) {\n\tvar out = [], widx = 0, L = content.length + 250;\n\tvar o = new_raw_buf(content.length + 255);\n\tfor(var ridx = 0; ridx < content.length; ++ridx) {\n\t\tvar c = content.charCodeAt(ridx);\n\t\tif(c < 0x80) o[widx++] = c;\n\t\telse if(c < 0x800) {\n\t\t\to[widx++] = (192|((c>>6)&31));\n\t\t\to[widx++] = (128|(c&63));\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64;\n\t\t\tvar d = content.charCodeAt(++ridx)&1023;\n\t\t\to[widx++] = (240|((c>>8)&7));\n\t\t\to[widx++] = (128|((c>>2)&63));\n\t\t\to[widx++] = (128|((d>>6)&15)|((c&3)<<4));\n\t\t\to[widx++] = (128|(d&63));\n\t\t} else {\n\t\t\to[widx++] = (224|((c>>12)&15));\n\t\t\to[widx++] = (128|((c>>6)&63));\n\t\t\to[widx++] = (128|(c&63));\n\t\t}\n\t\tif(widx > L) {\n\t\t\tout.push(o.slice(0, widx));\n\t\t\twidx = 0;\n\t\t\to = new_raw_buf(65535);\n\t\t\tL = 65530;\n\t\t}\n\t}\n\tout.push(o.slice(0, widx));\n\treturn bconcat(out);\n}\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/*::\ndeclare type Block = any;\ndeclare type BufArray = {\n\tnewblk(sz:number):Block;\n\tnext(sz:number):Block;\n\tend():any;\n\tpush(buf:Block):void;\n};\n\ntype RecordHopperCB = {(d:any, Rn:string, RT:number):?boolean;};\n\ntype EvertType = {[string]:string};\ntype EvertNumType = {[string]:number};\ntype EvertArrType = {[string]:Array};\n\ntype StringConv = {(string):string};\n\n*/\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nfunction _strrev(x/*:string*/)/*:string*/ { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = /*#__PURE__*/Math.pow(2,32);\nfunction pad0r(v/*:any*/,d/*:number*/)/*:string*/{if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\n/* yes, in 2022 this is still faster than string compare */\nfunction SSF_isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days/*:Array >*/ = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months/*:Array >*/ = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction SSF_init_table(t/*:any*/) {\n\tif(!t) t = {};\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n\treturn t;\n}\n/* repeated to satiate webpack */\nvar table_fmt = {\n\t0: 'General',\n\t1: '0',\n\t2: '0.00',\n\t3: '#,##0',\n\t4: '#,##0.00',\n\t9: '0%',\n\t10: '0.00%',\n\t11: '0.00E+00',\n\t12: '# ?/?',\n\t13: '# ??/??',\n\t14: 'm/d/yy',\n\t15: 'd-mmm-yy',\n\t16: 'd-mmm',\n\t17: 'mmm-yy',\n\t18: 'h:mm AM/PM',\n\t19: 'h:mm:ss AM/PM',\n\t20: 'h:mm',\n\t21: 'h:mm:ss',\n\t22: 'm/d/yy h:mm',\n\t37: '#,##0 ;(#,##0)',\n\t38: '#,##0 ;[Red](#,##0)',\n\t39: '#,##0.00;(#,##0.00)',\n\t40: '#,##0.00;[Red](#,##0.00)',\n\t45: 'mm:ss',\n\t46: '[h]:mm:ss',\n\t47: 'mmss.0',\n\t48: '##0.0E+0',\n\t49: '@',\n\t56: '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"'\n};\n\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar SSF_default_map = {\n\t5: 37, 6: 38, 7: 39, 8: 40, // 5 -> 37 ... 8 -> 40\n\n\t23: 0, 24: 0, 25: 0, 26: 0, // 23 -> 0 ... 26 -> 0\n\n\t27: 14, 28: 14, 29: 14, 30: 14, 31: 14, // 27 -> 14 ... 31 -> 14\n\n\t50: 14, 51: 14, 52: 14, 53: 14, 54: 14, // 50 -> 14 ... 58 -> 14\n\t55: 14, 56: 14, 57: 14, 58: 14,\n\t59: 1, 60: 2, 61: 3, 62: 4, // 59 -> 1 ... 62 -> 4\n\n\t67: 9, 68: 10, // 67 -> 9 ... 68 -> 10\n\t69: 12, 70: 13, 71: 14, // 69 -> 12 ... 71 -> 14\n\t72: 14, 73: 15, 74: 16, 75: 17, // 72 -> 14 ... 75 -> 17\n\t76: 20, 77: 21, 78: 22, // 76 -> 20 ... 78 -> 22\n\t79: 45, 80: 46, 81: 47, // 79 -> 45 ... 81 -> 47\n\t82: 0 // 82 -> 0 ... 65536 -> 0 (omitted)\n};\n\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar SSF_default_str = {\n\t// 5 -- Currency, 0 decimal, black negative\n\t5: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t63: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\n\t// 6 -- Currency, 0 decimal, red negative\n\t6: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t64: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\n\t// 7 -- Currency, 2 decimal, black negative\n\t7: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t65: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 8 -- Currency, 2 decimal, red negative\n\t8: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t66: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 41 -- Accounting, 0 decimal, No Symbol\n\t41: '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)',\n\n\t// 42 -- Accounting, 0 decimal, $ Symbol\n\t42: '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)',\n\n\t// 43 -- Accounting, 2 decimal, No Symbol\n\t43: '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)',\n\n\t// 44 -- Accounting, 2 decimal, $ Symbol\n\t44: '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)'\n};\n\nfunction SSF_frac(x/*:number*/, D/*:number*/, mixed/*:?boolean*/)/*:Array*/ {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = SSF_fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nvar SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0);\nvar SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime();\nvar SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= SSFbase1904) epoch += 24*60*60*1000;\n\treturn (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\n/* exponent >= -9 and <= 9 */\nfunction SSF_strip_decimal(o/*:string*/)/*:string*/ {\n\treturn (o.indexOf(\".\") == -1) ? o : o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)$/, \"$1\");\n}\n\n/* General Exponential always shows 2 digits exp and trims the mantissa */\nfunction SSF_normalize_exp(o/*:string*/)/*:string*/ {\n\tif(o.indexOf(\"E\") == -1) return o;\n\treturn o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/,\"$1E\").replace(/(E[+-])(\\d)$/,\"$10$2\");\n}\n\n/* exponent >= -9 and <= 9 */\nfunction SSF_small_exp(v/*:number*/)/*:string*/ {\n\tvar w = (v<0?12:11);\n\tvar o = SSF_strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\n\n/* exponent >= 11 or <= -10 likely exponential */\nfunction SSF_large_exp(v/*:number*/)/*:string*/ {\n\tvar o = SSF_strip_decimal(v.toFixed(11));\n\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n}\n\nfunction SSF_general_num(v/*:number*/)/*:string*/ {\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = SSF_small_exp(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = SSF_large_exp(v);\n\n\treturn SSF_strip_decimal(SSF_normalize_exp(o.toUpperCase()));\n}\n\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tThe longest 32-bit integer text is \"-2147483648\", exactly 11 chars\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction SSF_general(v/*:any*/, opts/*:any*/) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : SSF_general_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\n\nfunction SSF_fix_hijri(date/*:Date*/, o/*:[number, number, number]*/) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\nfunction SSF_write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:string*/ {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\n\t\t\t/*::if(!ss0) ss0 = 0; */\n\t\t\tif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n\n\n/*jshint -W086 */\n/*jshint +W086 */\nfunction commaify(s/*:string*/)/*:string*/ {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar pct1 = /%/g;\nfunction write_num_pct(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\n\nfunction write_num_cm(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\n\nfunction write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar o/*:string*/;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str/*:string*/)/*:string*/ {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val/*:number*/, d/*:number*/)/*:string*/ { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val/*:number*/, d/*:number*/)/*:number*/ {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val/*:number*/, d/*:number*/)/*:number*/ {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val/*:number*/)/*:string*/ {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/ {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(/*::(*/r/*::||[\"\"])*/[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\to = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\t\treturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri*/ {\n\tvar out/*:Array*/ = [];\n\tvar in_str = false/*, cc*/;\n\tfor(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) {\n\t\tcase 34: /* '\"' */\n\t\t\tin_str = !in_str; break;\n\t\tcase 95: case 42: case 92: /* '_' '*' '\\\\' */\n\t\t\t++i; break;\n\t\tcase 59: /* ';' */\n\t\t\tout[out.length] = fmt.substr(j,i-j);\n\t\t\tj = i+1;\n\t}\n\tout[out.length] = fmt.substr(j);\n\tif(in_str === true) throw new Error(\"Format |\" + fmt + \"| unterminated string \");\n\treturn out;\n}\n\nvar SSF_abstime = /\\[[HhMmSs\\u0E0A\\u0E19\\u0E17]*\\]/;\nfunction fmt_is_date(fmt/*:string*/)/*:boolean*/ {\n\tvar i = 0, /*cc = 0,*/ c = \"\", o = \"\";\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': if(SSF_isgeneral(fmt, i)) i+= 6; i++; break;\n\t\t\tcase '\"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;\n\t\t\tcase '\\\\': i+=2; break;\n\t\t\tcase '_': i+=2; break;\n\t\t\tcase '@': ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") return true;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"AM/PM\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"上午/下午\") return true;\n\t\t\t\t++i; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.match(SSF_abstime)) return true;\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\twhile(i < fmt.length && (\"0#?.,E+-%\".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!SSF_isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=SSF_parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(SSF_abstime)) {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\n\t\t\t\t/*::if(!dt) throw \"unreachable\"; */\n\t\t\t\tout[i].v = SSF_write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = SSF_general(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\n\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f/*:string*/, v/*:any*/) {\n\tvar fmt = SSF_split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(/\\[[=<>]/) != null || fmt[1].match(/\\[[=<>]/) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table/*:any*/) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[SSF_default_map[fmt]]) || table_fmt[SSF_default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = SSF_default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(SSF_isgeneral(sfmt,0)) return SSF_general(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(SSF_isgeneral(f[1])) return SSF_general(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction SSF_load(fmt/*:string*/, idx/*:?number*/)/*:number*/ {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tfor(var i = 0; i < 0x0188; ++i) {\n/*::if(typeof idx != 'number') return 0x188; */\n\t\t\tif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tif(idx < 0) idx = 0x187;\n\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\ttable_fmt[idx] = fmt;\n\treturn idx;\n}\nfunction SSF_load_table(tbl/*:SSFTable*/)/*:void*/ {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) SSF_load(tbl[i], i);\n}\n\nfunction make_ssf() {\n\ttable_fmt = SSF_init_table();\n}\n\nvar SSF = {\n\tformat: SSF_format,\n\tload: SSF_load,\n\t_table: table_fmt,\n\tload_table: SSF_load_table,\n\tparse_date_code: SSF_parse_date_code,\n\tis_date: fmt_is_date,\n\tget_table: function get_table() { return SSF._table = table_fmt; }\n};\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n}/*:any*/);\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ {\n\tvar fmt = typeof dateNF == \"number\" ? table_fmt[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\n/*::\ndeclare var ReadShift:any;\ndeclare var CheckField:any;\ndeclare var prep_blob:any;\ndeclare var __readUInt32LE:any;\ndeclare var __readInt32LE:any;\ndeclare var __toBuffer:any;\ndeclare var __utf16le:any;\ndeclare var bconcat:any;\ndeclare var s2a:any;\ndeclare var chr0:any;\ndeclare var chr1:any;\ndeclare var has_buf:boolean;\ndeclare var new_buf:any;\ndeclare var new_raw_buf:any;\ndeclare var new_unsafe_buf:any;\ndeclare var Buffer_from:any;\n*/\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/*::\ntype SectorEntry = {\n\tname?:string;\n\tnodes?:Array;\n\tdata:RawBytes;\n};\ntype SectorList = {\n\t[k:string|number]:SectorEntry;\n\tname:?string;\n\tfat_addrs:Array;\n\tssz:number;\n}\ntype CFBFiles = {[n:string]:CFBEntry};\n*/\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32 = /*#__PURE__*/(function() {\nvar CRC32 = {};\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table()/*:any*/ {\n\tvar c = 0, table/*:Array*/ = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table/*:Array*/ = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B/*:Uint8Array|Array*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\nreturn CRC32;\n})();\n/* [MS-CFB] v20171201 */\nvar CFB = /*#__PURE__*/(function _CFB(){\nvar exports = {};\nexports.version = '1.2.1';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l/*:string*/, r/*:string*/)/*:number*/ {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf/*:CFBlob*/, date/*:Date|string*/) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms/*:number*/ = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd/*:number*/ = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf/*:CFBlob*/)/*:Date*/ {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob/*:CFBlob*/)/*:any*/ {\n\tprep_blob(blob, 0);\n\tvar o = /*::(*/{}/*:: :any)*/;\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs/*:: = require('fs'); */;\nfunction get_fs() { return fs || (fs = {}); }\nfunction parse(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif((file[0] | 0x20) == 0x6d && (file[1]|0x20) == 0x69) return parse_mad(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs/*:Array*/ = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob/*:CFBlob*/ = /*::(*/file.slice(0,512)/*:: :any)*/;\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = /*::(*/file.slice(0,ssz)/*:: :any)*/; prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header/*:RawBytes*/ = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt/*:number*/ = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors/*:Array*/ = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list/*:SectorList*/ = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files/*:CFBFiles*/ = {}, Paths/*:Array*/ = [], FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob/*:CFBlob*/)/*:[number, number]*/ {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver/*:number*/ = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob/*:CFBlob*/, mver/*:number*/)/*:void*/ {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file/*:RawBytes*/, ssz/*:number*/)/*:Array*/ {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors/*:Array*/ = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI/*:CFBFileIndex*/, FP/*:Array*/, Paths/*:Array*/)/*:void*/ {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad/*:Array*/ = [], q/*:Array*/ = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry/*:CFBEntry*/, payload/*:RawBytes*/, mini/*:?RawBytes*/)/*:CFBlob*/ {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size)/*:any*/);\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0)/*:any*/);\n\treturn (bconcat(o).slice(0, entry.size)/*:any*/);\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx/*:number*/, cnt/*:number*/, sectors/*:Array*/, ssz/*:number*/, fat_addrs)/*:void*/ {\n\tvar q/*:number*/ = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors/*:Array*/, start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/, chkd/*:?Array*/)/*:SectorEntry*/ {\n\tvar buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors/*:Array*/, dir_start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/)/*:SectorList*/ {\n\tvar sl = sectors.length, sector_list/*:SectorList*/ = ([]/*:any*/);\n\tvar chkd/*:Array*/ = [], buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]/*:Array*/);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr/*:number*/ = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])}/*:SectorEntry*/);\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sectors/*:Array*/, Paths/*:Array*/, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob/*:CFBlob*/ = /*::(*/sector.slice(i, i+128)/*:: :any)*/;\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o/*:CFBEntry*/ = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/);\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob/*:RawBytes|CFBlob*/, offset/*:number*/)/*:Date*/ {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename/*:string*/, options/*:CFBReadOpts*/) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob/*:RawBytes|string*/, options/*:CFBReadOpts*/) {\n\tvar type = options && options.type;\n\tif(!type) {\n\t\tif(has_buf && Buffer.isBuffer(blob)) type = \"buffer\";\n\t}\n\tswitch(type || \"base64\") {\n\t\tcase \"file\": /*:: if(typeof blob !== 'string') throw \"Must pass a filename when type='file'\"; */return read_file(blob, options);\n\t\tcase \"base64\": /*:: if(typeof blob !== 'string') throw \"Must pass a base64-encoded binary string when type='file'\"; */return parse(s2a(Base64_decode(blob)), options);\n\t\tcase \"binary\": /*:: if(typeof blob !== 'string') throw \"Must pass a binary string when type='file'\"; */return parse(s2a(blob), options);\n\t}\n\treturn parse(/*::typeof blob == 'string' ? new Buffer(blob, 'utf-8') : */blob, options);\n}\n\nfunction init_cfb(cfb/*:CFBContainer*/, opts/*:?any*/)/*:void*/ {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 }/*:any*/);\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb/*:CFBContainer*/)/*:void*/ {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }/*:any*/));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\t// Track which names exist\n\tvar fullPaths = Object.create ? Object.create(null) : {};\n\tvar data/*:Array<[string, CFBEntry]>*/ = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tfullPaths[cfb.FullPaths[i]] = true;\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = fullPaths[dad];\n\t\tif(!s) {\n\t\t\tdata.push([dad, ({\n\t\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\t\ttype: 1,\n\t\t\t\tclsid: HEADER_CLSID,\n\t\t\t\tct: now, mt: now,\n\t\t\t\tcontent: null\n\t\t\t}/*:any*/)]);\n\t\t\t// Add name to set\n\t\t\tfullPaths[dad] = true;\n\t\t}\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar _opts = options || {};\n\t/* MAD is order-sensitive, skip rebuild and sort */\n\tif(_opts.fileType == 'mad') return write_mad(cfb, _opts);\n\trebuild_cfb(cfb);\n\tswitch(_opts.fileType) {\n\t\tcase 'zip': return write_zip(cfb, _opts);\n\t\t//case 'mad': return write_mad(cfb, _opts);\n\t}\n\tvar L = (function(cfb/*:CFBContainer*/)/*:Array*/{\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\n\t\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\t\tvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w/*:number*/)/*:void*/ {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\n\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\tflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm/*:string*/ = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 511) & -512;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size > 0 && file.size < 0x1000) {\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 63) & -64;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tif (has_buf) {\n\t\to.l = o.length;\n\t} else {\n\t\t// When using Buffer, already 0-filled\n\t\twhile(o.l < o.length) o.write_shift(1, 0);\n\t}\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb/*:CFBContainer*/, path/*:string*/)/*:?CFBEntry*/ {\n\tvar UCFullPaths/*:Array*/ = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths/*:Array*/ = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k/*:boolean*/ = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath/*:string*/ = path.toUpperCase();\n\tvar w/*:number*/ = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb/*:CFBContainer*/, filename/*:string*/, options/*:CFBWriteOpts*/)/*:void*/ {\n\tget_fs();\n\tvar o = _write(cfb, options);\n\t/*:: if(typeof Buffer == 'undefined' || !Buffer.isBuffer(o) || !(o instanceof Buffer)) throw new Error(\"unreachable\"); */\n\tfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o/*:RawBytes*/)/*:string*/ {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type || \"buffer\") {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o/*:any*/)); return o;\n\t\tcase \"binary\": return typeof o == \"string\" ? o : a2s(o);\n\t\tcase \"base64\": return Base64_encode(typeof o == \"string\" ? o : a2s(o));\n\t\tcase \"buffer\": if(has_buf) return Buffer.isBuffer(o) ? o : Buffer_from(o);\n\t\t\t/* falls through */\n\t\tcase \"array\": return typeof o == \"string\" ? s2a(o) : o;\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* helpers for unaligned bit writes */\nfunction write_bits_3(buf, bl, v) { var w = bl & 7, h = bl >>> 3;\n\tif(w <= 5) buf[h] |= (v & 7) << w;\n\telse {\n\t\tbuf[h] |= (v << w) & 0xFF;\n\t\tbuf[h+1] = (v&7) >> (8-w);\n\t}\n\treturn bl + 3;\n}\n\nfunction write_bits_1(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv = (v&1) << w;\n\tbuf[h] |= v;\n\treturn bl + 1;\n}\nfunction write_bits_8(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v;\n\treturn bl + 8;\n}\nfunction write_bits_16(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v & 0xFF;\n\tbuf[h+2] = v >>> 8;\n\treturn bl + 16;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz/*:number*/) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < L; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX/*:number*/)/*:number*/ {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<*/ = [];\n\tvar i = 0;\n\tfor(;i<32; i++) dlens.push(5);\n\tbuild_tree(dlens, fix_dmap, 32);\n\n\tvar clens/*:Array*/ = [];\n\ti = 0;\n\tfor(; i<=143; i++) clens.push(8);\n\tfor(; i<=255; i++) clens.push(9);\n\tfor(; i<=279; i++) clens.push(7);\n\tfor(; i<=287; i++) clens.push(8);\n\tbuild_tree(clens, fix_lmap, 288);\n})();var _deflateRaw = /*#__PURE__*/(function _deflateRawIIFE() {\n\tvar DST_LN_RE = use_typed_arrays ? new Uint8Array(0x8000) : [];\n\tvar j = 0, k = 0;\n\tfor(; j < DST_LN.length - 1; ++j) {\n\t\tfor(; k < DST_LN[j+1]; ++k) DST_LN_RE[k] = j;\n\t}\n\tfor(;k < 32768; ++k) DST_LN_RE[k] = 29;\n\n\tvar LEN_LN_RE = use_typed_arrays ? new Uint8Array(0x103) : [];\n\tfor(j = 0, k = 0; j < LEN_LN.length - 1; ++j) {\n\t\tfor(; k < LEN_LN[j+1]; ++k) LEN_LN_RE[k] = j;\n\t}\n\n\tfunction write_stored(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t}\n\n\t/* Fixed Huffman */\n\tfunction write_huff_fixed(data, out) {\n\t\tvar bl = 0;\n\t\tvar boff = 0;\n\t\tvar addrs = use_typed_arrays ? new Uint16Array(0x8000) : [];\n\t\twhile(boff < data.length) {\n\t\t\tvar L = /* data.length - boff; */ Math.min(0xFFFF, data.length - boff);\n\n\t\t\t/* write a stored block for short data */\n\t\t\tif(L < 10) {\n\t\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length)); // jshint ignore:line\n\t\t\t\tif(bl & 7) bl += 8 - (bl & 7);\n\t\t\t\tout.l = (bl / 8) | 0;\n\t\t\t\tout.write_shift(2, L);\n\t\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t\t\tbl = out.l * 8;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length) + 2); // jshint ignore:line\n\t\t\tvar hash = 0;\n\t\t\twhile(L-- > 0) {\n\t\t\t\tvar d = data[boff];\n\t\t\t\thash = ((hash << 5) ^ d) & 0x7FFF;\n\n\t\t\t\tvar match = -1, mlen = 0;\n\n\t\t\t\tif((match = addrs[hash])) {\n\t\t\t\t\tmatch |= boff & ~0x7FFF;\n\t\t\t\t\tif(match > boff) match -= 0x8000;\n\t\t\t\t\tif(match < boff) while(data[match + mlen] == data[boff + mlen] && mlen < 250) ++mlen;\n\t\t\t\t}\n\n\t\t\t\tif(mlen > 2) {\n\t\t\t\t\t/* Copy Token */\n\t\t\t\t\td = LEN_LN_RE[mlen];\n\t\t\t\t\tif(d <= 22) bl = write_bits_8(out, bl, bitswap8[d+1]>>1) - 1;\n\t\t\t\t\telse {\n\t\t\t\t\t\twrite_bits_8(out, bl, 3);\n\t\t\t\t\t\tbl += 5;\n\t\t\t\t\t\twrite_bits_8(out, bl, bitswap8[d-23]>>5);\n\t\t\t\t\t\tbl += 3;\n\t\t\t\t\t}\n\t\t\t\t\tvar len_eb = (d < 8) ? 0 : ((d - 4)>>2);\n\t\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, mlen - LEN_LN[d]);\n\t\t\t\t\t\tbl += len_eb;\n\t\t\t\t\t}\n\n\t\t\t\t\td = DST_LN_RE[boff - match];\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]>>3);\n\t\t\t\t\tbl -= 3;\n\n\t\t\t\t\tvar dst_eb = d < 4 ? 0 : (d-2)>>1;\n\t\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, boff - match - DST_LN[d]);\n\t\t\t\t\t\tbl += dst_eb;\n\t\t\t\t\t}\n\t\t\t\t\tfor(var q = 0; q < mlen; ++q) {\n\t\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t\thash = ((hash << 5) ^ data[boff]) & 0x7FFF;\n\t\t\t\t\t\t++boff;\n\t\t\t\t\t}\n\t\t\t\t\tL-= mlen - 1;\n\t\t\t\t} else {\n\t\t\t\t\t/* Literal Token */\n\t\t\t\t\tif(d <= 143) d = d + 48;\n\t\t\t\t\telse bl = write_bits_1(out, bl, 1);\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]);\n\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t++boff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbl = write_bits_8(out, bl, 0) - 1;\n\t\t}\n\t\tout.l = ((bl + 7)/8)|0;\n\t\treturn out.l;\n\t}\n\treturn function _deflateRaw(data, out) {\n\t\tif(data.length < 8) return write_stored(data, out);\n\t\treturn write_huff_fixed(data, out);\n\t};\n})();\n\nfunction _deflate(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n}\n/* modified inflate function also moves original read head */\n\nvar dyn_lmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_dmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_cmap = use_typed_arrays ? new Uint16Array(128) : zero_fill_array(128);\nvar dyn_len_1 = 1, dyn_len_2 = 1;\n\n/* 5.5.3 Expanding Huffman Codes */\nfunction dyn(data, boff/*:number*/) {\n\t/* nomenclature from RFC1951 refers to bit values; these are offset by the implicit constant */\n\tvar _HLIT = read_bits_5(data, boff) + 257; boff += 5;\n\tvar _HDIST = read_bits_5(data, boff) + 1; boff += 5;\n\tvar _HCLEN = read_bits_4(data, boff) + 4; boff += 4;\n\tvar w = 0;\n\n\t/* grab and store code lengths */\n\tvar clens = use_typed_arrays ? new Uint8Array(19) : zero_fill_array(19);\n\tvar ctree = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n\tvar maxlen = 1;\n\tvar bl_count = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar next_code = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar L = clens.length; /* 19 */\n\tfor(var i = 0; i < _HCLEN; ++i) {\n\t\tclens[CLEN_ORDER[i]] = w = read_bits_3(data, boff);\n\t\tif(maxlen < w) maxlen = w;\n\t\tbl_count[w]++;\n\t\tboff += 3;\n\t}\n\n\t/* build code tree */\n\tvar ccode = 0;\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) next_code[i] = ccode = (ccode + bl_count[i-1])<<1;\n\tfor(i = 0; i < L; ++i) if((ccode = clens[i]) != 0) ctree[i] = next_code[ccode]++;\n\t/* cmap[7 bits from stream] = (off&7) + (lit<<3) */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bitswap8[ctree[i]]>>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<*/ = [];\n\tmaxlen = 1;\n\tfor(; hcodes.length < _HLIT + _HDIST;) {\n\t\tccode = dyn_cmap[read_bits_7(data, boff)];\n\t\tboff += ccode & 7;\n\t\tswitch((ccode >>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz/*:number*/) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(sz > 0) {\n\t\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\t\twhile(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\t}\n\t\t\tcontinue;\n\t\t} else if((header >> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt + 100); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\tif(usz) return [outbuf, (boff+7)>>>3];\n\treturn [outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tvar blob/*:CFBlob*/ = /*::(*/file/*:: :any)*/;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(/*::(*/blob.slice(blob.l+namelen, blob.l+namelen+efsz)/*:: :any)*/);\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob/*:CFBlob*/, csz/*:number*/, usz/*:number*/, o/*:CFBContainer*/, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(/*::(*/blob.slice(blob.l, blob.l + efsz)/*:: :any)*/);\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break; // TODO: scan for magic number\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\t//var _crc32 = CRC32.buf(data, 0);\n\t//if((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o/*:CFBlob*/ = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(/*::((*/fi.content/*::||[]):any)*/, 0);\n\n\t\tvar outbuf = fi.content/*::||[]*/;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: extra fields? */\n\n\t\t/* TODO: encryption header ? */\n\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out/*:any*/)), bconcat(cdirs), o]/*:any*/));\n}\nvar ContentTypeMap = ({\n\t\"htm\": \"text/html\",\n\t\"xml\": \"text/xml\",\n\n\t\"gif\": \"image/gif\",\n\t\"jpg\": \"image/jpeg\",\n\t\"png\": \"image/png\",\n\n\t\"mso\": \"application/x-mso\",\n\t\"thmx\": \"application/vnd.ms-officetheme\",\n\t\"sh33tj5\": \"application/octet-stream\"\n}/*:any*/);\n\nfunction get_content_type(fi/*:CFBEntry*/, fp/*:string*/)/*:string*/ {\n\tif(fi.ctype) return fi.ctype;\n\n\tvar ext = fi.name || \"\", m = ext.match(/\\.([^\\.]+)$/);\n\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\n\tif(fp) {\n\t\tm = (ext = fp).match(/[\\.\\\\]([^\\.\\\\])+$/);\n\t\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\t}\n\n\treturn \"application/octet-stream\";\n}\n\n/* 76 character chunks TODO: intertwine encoding */\nfunction write_base64_76(bstr/*:string*/)/*:string*/ {\n\tvar data = Base64_encode(bstr);\n\tvar o = [];\n\tfor(var i = 0; i < data.length; i+= 76) o.push(data.slice(i, i+76));\n\treturn o.join(\"\\r\\n\") + \"\\r\\n\";\n}\n\n/*\nRules for QP:\n\t- escape =## applies for all non-display characters and literal \"=\"\n\t- space or tab at end of line must be encoded\n\t- \\r\\n newlines can be preserved, but bare \\r and \\n must be escaped\n\t- lines must not exceed 76 characters, use soft breaks =\\r\\n\n\nTODO: Some files from word appear to write line extensions with bare equals:\n\n```\n*/ = [], split = encoded.split(\"\\r\\n\");\n\tfor(var si = 0; si < split.length; ++si) {\n\t\tvar str = split[si];\n\t\tif(str.length == 0) { o.push(\"\"); continue; }\n\t\tfor(var i = 0; i < str.length;) {\n\t\t\tvar end = 76;\n\t\t\tvar tmp = str.slice(i, i + end);\n\t\t\tif(tmp.charAt(end - 1) == \"=\") end --;\n\t\t\telse if(tmp.charAt(end - 2) == \"=\") end -= 2;\n\t\t\telse if(tmp.charAt(end - 3) == \"=\") end -= 3;\n\t\t\ttmp = str.slice(i, i + end);\n\t\t\ti += end;\n\t\t\tif(i < str.length) tmp += \"=\";\n\t\t\to.push(tmp);\n\t\t}\n\t}\n\n\treturn o.join(\"\\r\\n\");\n}\nfunction parse_quoted_printable(data/*:Array*/)/*:RawBytes*/ {\n\tvar o = [];\n\n\t/* unify long lines */\n\tfor(var di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\twhile(di <= data.length && line.charAt(line.length - 1) == \"=\") line = line.slice(0, line.length - 1) + data[++di];\n\t\to.push(line);\n\t}\n\n\t/* decode */\n\tfor(var oi = 0; oi < o.length; ++oi) o[oi] = o[oi].replace(/[=][0-9A-Fa-f]{2}/g, function($$) { return String.fromCharCode(parseInt($$.slice(1), 16)); });\n\treturn s2a(o.join(\"\\r\\n\"));\n}\n\n\nfunction parse_mime(cfb/*:CFBContainer*/, data/*:Array*/, root/*:string*/)/*:void*/ {\n\tvar fname = \"\", cte = \"\", ctype = \"\", fdata;\n\tvar di = 0;\n\tfor(;di < 10; ++di) {\n\t\tvar line = data[di];\n\t\tif(!line || line.match(/^\\s*$/)) break;\n\t\tvar m = line.match(/^(.*?):\\s*([^\\s].*)$/);\n\t\tif(m) switch(m[1].toLowerCase()) {\n\t\t\tcase \"content-location\": fname = m[2].trim(); break;\n\t\t\tcase \"content-type\": ctype = m[2].trim(); break;\n\t\t\tcase \"content-transfer-encoding\": cte = m[2].trim(); break;\n\t\t}\n\t}\n\t++di;\n\tswitch(cte.toLowerCase()) {\n\t\tcase 'base64': fdata = s2a(Base64_decode(data.slice(di).join(\"\"))); break;\n\t\tcase 'quoted-printable': fdata = parse_quoted_printable(data.slice(di)); break;\n\t\tdefault: throw new Error(\"Unsupported Content-Transfer-Encoding \" + cte);\n\t}\n\tvar file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true});\n\tif(ctype) file.ctype = ctype;\n}\n\nfunction parse_mad(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tif(a2s(file.slice(0,13)).toLowerCase() != \"mime-version:\") throw new Error(\"Unsupported MAD header\");\n\tvar root = (options && options.root || \"\");\n\t// $FlowIgnore\n\tvar data = (has_buf && Buffer.isBuffer(file) ? file.toString(\"binary\") : a2s(file)).split(\"\\r\\n\");\n\tvar di = 0, row = \"\";\n\n\t/* if root is not specified, scan for the common prefix */\n\tfor(di = 0; di < data.length; ++di) {\n\t\trow = data[di];\n\t\tif(!/^Content-Location:/i.test(row)) continue;\n\t\trow = row.slice(row.indexOf(\"file\"));\n\t\tif(!root) root = row.slice(0, row.lastIndexOf(\"/\") + 1);\n\t\tif(row.slice(0, root.length) == root) continue;\n\t\twhile(root.length > 0) {\n\t\t\troot = root.slice(0, root.length - 1);\n\t\t\troot = root.slice(0, root.lastIndexOf(\"/\") + 1);\n\t\t\tif(row.slice(0,root.length) == root) break;\n\t\t}\n\t}\n\n\tvar mboundary = (data[1] || \"\").match(/boundary=\"(.*?)\"/);\n\tif(!mboundary) throw new Error(\"MAD cannot find boundary\");\n\tvar boundary = \"--\" + (mboundary[1] || \"\");\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o);\n\tvar start_di, fcnt = 0;\n\tfor(di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\tif(line !== boundary && line !== boundary + \"--\") continue;\n\t\tif(fcnt++) parse_mime(o, data.slice(start_di, di), root);\n\t\tstart_di = di;\n\t}\n\treturn o;\n}\n\nfunction write_mad(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:string*/ {\n\tvar opts = options || {};\n\tvar boundary = opts.boundary || \"SheetJS\";\n\tboundary = '------=' + boundary;\n\n\tvar out = [\n\t\t'MIME-Version: 1.0',\n\t\t'Content-Type: multipart/related; boundary=\"' + boundary.slice(2) + '\"',\n\t\t'',\n\t\t'',\n\t\t''\n\t];\n\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tfor(var i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length);\n\t\tfi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\n\t\t/* Normalize filename */\n\t\tfp = fp.replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7E-\\xFF]/g, function(c) {\n\t\t\treturn \"_x\" + c.charCodeAt(0).toString(16) + \"_\";\n\t\t}).replace(/[\\u0080-\\uFFFF]/g, function(u) {\n\t\t\treturn \"_u\" + u.charCodeAt(0).toString(16) + \"_\";\n\t\t});\n\n\t\t/* Extract content as binary string */\n\t\tvar ca = fi.content;\n\t\t// $FlowIgnore\n\t\tvar cstr = has_buf && Buffer.isBuffer(ca) ? ca.toString(\"binary\") : a2s(ca);\n\n\t\t/* 4/5 of first 1024 chars ascii -> quoted printable, else base64 */\n\t\tvar dispcnt = 0, L = Math.min(1024, cstr.length), cc = 0;\n\t\tfor(var csl = 0; csl <= L; ++csl) if((cc=cstr.charCodeAt(csl)) >= 0x20 && cc < 0x80) ++dispcnt;\n\t\tvar qp = dispcnt >= L * 4 / 5;\n\n\t\tout.push(boundary);\n\t\tout.push('Content-Location: ' + (opts.root || 'file:///C:/SheetJS/') + fp);\n\t\tout.push('Content-Transfer-Encoding: ' + (qp ? 'quoted-printable' : 'base64'));\n\t\tout.push('Content-Type: ' + get_content_type(fi, fp));\n\t\tout.push('');\n\n\t\tout.push(qp ? write_quoted_printable(cstr) : write_base64_76(cstr));\n\t}\n\tout.push(boundary + '--\\r\\n');\n\treturn out.join(\"\\r\\n\");\n}\nfunction cfb_new(opts/*:?any*/)/*:CFBContainer*/ {\n\tvar o/*:CFBContainer*/ = ({}/*:any*/);\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb/*:CFBContainer*/, name/*:string*/, content/*:?RawBytes*/, opts/*:?any*/)/*:CFBEntry*/ {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath/*:string*/ = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2}/*:any*/);\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\n\t/*:: if(!file) throw new Error(\"unreachable\"); */\n\tfile.content = (content/*:any*/);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb/*:CFBContainer*/, name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb/*:CFBContainer*/, old_name/*:string*/, new_name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb/*:CFBContainer*/)/*:void*/ { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nlet _fs = void 0;\nfunction set_fs(fs) { _fs = fs; }\nexport { set_fs };\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tif(typeof Deno !== 'undefined') {\n\t\t/* in this spot, it's safe to assume typed arrays and TextEncoder/TextDecoder exist */\n\t\tif(enc && typeof payload == \"string\") switch(enc) {\n\t\t\tcase \"utf8\": payload = new TextEncoder(enc).encode(payload); break;\n\t\t\tcase \"binary\": payload = s2ab(payload); break;\n\t\t\t/* TODO: binary equivalent */\n\t\t\tdefault: throw new Error(\"Unsupported encoding \" + enc);\n\t\t}\n\t\treturn Deno.writeFileSync(fname, payload);\n\t}\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\n\t/*:: declare var IE_SaveFile: any; */\n\tif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\n\t\t/*:: declare var navigator: any; */\n\t\tif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\n\t\t/*:: declare var saveAs: any; */\n\t\tif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\n\t\t\t/*:: declare var chrome: any; */\n\t\t\tif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */\n\t\t\t\ta.download = fname; a.href = url; document.body.appendChild(a); a.click();\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */ document.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path/*:string*/) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\tif(typeof Deno !== 'undefined') return Deno.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o/*:any*/)/*:Array*/ {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj/*:any*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj/*:any*/)/*:EvertNumType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj/*:any*/)/*:EvertArrType*/ {\n\tvar o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nfunction datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\tvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nvar refdate = /*#__PURE__*/new Date();\nvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\nvar refoffset = /*#__PURE__*/refdate.getTimezoneOffset();\nfunction numdate(v/*:number*/)/*:Date*/ {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\tif (out.getTimezoneOffset() !== refoffset) {\n\t\tout.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000);\n\t}\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z');\nvar good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1;\nvar good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ {\n\tvar d = new Date(str);\n\tif(good_pd) {\n\t\t/*:: if(fixdate == null) fixdate = 0; */\n\t\tif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr/*:Array*/, debomit)/*:string*/ {\n\tif(has_buf && Buffer.isBuffer(arr)) {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(arr.slice(2).toString(\"utf16le\"));\n\t\t\tif(arr[1] == 0xFE && arr[2] == 0xFF) return utf8write(utf16beread(arr.slice(2).toString(\"binary\")));\n\t\t}\n\t\treturn arr.toString(\"binary\");\n\t}\n\n\tif(typeof TextDecoder !== \"undefined\") try {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(new TextDecoder(\"utf-16le\").decode(arr.slice(2)));\n\t\t\tif(arr[0] == 0xFE && arr[1] == 0xFF) return utf8write(new TextDecoder(\"utf-16be\").decode(arr.slice(2)));\n\t\t}\n\t\tvar rev = {\n\t\t\t\"\\u20ac\": \"\\x80\", \"\\u201a\": \"\\x82\", \"\\u0192\": \"\\x83\", \"\\u201e\": \"\\x84\",\n\t\t\t\"\\u2026\": \"\\x85\", \"\\u2020\": \"\\x86\", \"\\u2021\": \"\\x87\", \"\\u02c6\": \"\\x88\",\n\t\t\t\"\\u2030\": \"\\x89\", \"\\u0160\": \"\\x8a\", \"\\u2039\": \"\\x8b\", \"\\u0152\": \"\\x8c\",\n\t\t\t\"\\u017d\": \"\\x8e\", \"\\u2018\": \"\\x91\", \"\\u2019\": \"\\x92\", \"\\u201c\": \"\\x93\",\n\t\t\t\"\\u201d\": \"\\x94\", \"\\u2022\": \"\\x95\", \"\\u2013\": \"\\x96\", \"\\u2014\": \"\\x97\",\n\t\t\t\"\\u02dc\": \"\\x98\", \"\\u2122\": \"\\x99\", \"\\u0161\": \"\\x9a\", \"\\u203a\": \"\\x9b\",\n\t\t\t\"\\u0153\": \"\\x9c\", \"\\u017e\": \"\\x9e\", \"\\u0178\": \"\\x9f\"\n\t\t};\n\t\tif(Array.isArray(arr)) arr = new Uint8Array(arr);\n\t\treturn new TextDecoder(\"latin1\").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; });\n\t} catch(e) {}\n\n\tvar o = [];\n\tfor(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i]));\n\treturn o.join(\"\");\n}\n\nfunction dup(o/*:any*/)/*:any*/ {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s/*:string*/)/*:number*/ {\n\tvar v/*:number*/ = Number(s);\n\tif(!isNaN(v)) return isFinite(v) ? v : NaN;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nvar lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nfunction fuzzydate(s/*:string*/)/*:Date*/ {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tvar lower = s.toLowerCase();\n\tif(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) {\n\t\tlower = lower.replace(/[^a-z]/g,\"\").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,\"\");\n\t\tif(lower.length > 3 && lower_months.indexOf(lower) == -1) return n;\n\t} else if(lower.match(/[a-z]/)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar split_regex = /*#__PURE__*/(function() {\n\tvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\n\treturn function split_regex(str/*:string*/, re, def/*:string*/)/*:Array*/ {\n\t\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\t\tvar p = str.split(re), o = [p[0]];\n\t\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\t\treturn o;\n\t};\n})();\nfunction getdatastr(data)/*:?string*/ {\n\tif(!data) return null;\n\tif(data.content && data.type) return cc2str(data.content, true);\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file/*:string*/) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase().replace(/[\\/]/g, '\\\\'), g = f.replace(/\\\\/g,'\\/');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex1=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s*[\\/\\?]?>/mg, tagregex2 = /<[^>]*>/g;\nvar tagregex = /*#__PURE__*/XML_HEADER.match(tagregex1) ? tagregex1 : tagregex2;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag/*:string*/, skip_root/*:?boolean*/, skip_LC/*:?boolean*/)/*:any*/ {\n\tvar z = ({}/*:any*/);\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = /*#__PURE__*/evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml/*:StringConv*/ = /*#__PURE__*/(function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text/*:string*/)/*:string*/ {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text/*:string*/)/*:string*/{ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); };\n})();\nfunction xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); }\n\nfunction parsexmlbool(value/*:any*/)/*:boolean*/ {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nfunction utf8reada(orig/*:string*/)/*:string*/ {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n}\n\nfunction utf8readb(data) {\n\tvar out = new_raw_buf(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\tfor(i = 0; i < data.length; i+=j) {\n\t\tj = 1;\n\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\telse { j = 4;\n\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t}\n\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t}\n\treturn out.slice(0,k).toString('ucs2');\n}\n\nfunction utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); }\n\nvar utf8corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\nvar utf8read = has_buf && (/*#__PURE__*/utf8readc(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readc || /*#__PURE__*/utf8readb(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readb) || utf8reada;\n\nvar utf8write/*:StringConv*/ = has_buf ? function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); } : function(orig/*:string*/)/*:string*/ {\n\tvar out/*:Array*/ = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\n// matches ... extracts content\nvar matchtag = /*#__PURE__*/(function() {\n\tvar mtcache/*:{[k:string]:RegExp}*/ = ({}/*:any*/);\n\treturn function matchtag(f/*:string*/,g/*:?string*/)/*:RegExp*/ {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\")/*:any*/)));\n\t};\n})();\n\nvar htmldecode/*:{(s:string):string}*/ = /*#__PURE__*/(function() {\n\tvar entities/*:Array<[RegExp, string]>*/ = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x/*:[string, string]*/) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str/*:string*/)/*:string*/ {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = /*#__PURE__*/(function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)*/ {\n\tvar h = parsexmltag(data);\n\n\tvar matches/*:Array*/ = data.match(vtregex(h.baseType))||[];\n\tvar res/*:Array*/ = [];\n\tif(matches.length != h.size) {\n\t\tif(opts.WTF) throw new Error(\"unexpected vector length \" + matches.length + \" != \" + h.size);\n\t\treturn res;\n\t}\n\tmatches.forEach(function(x/*:string*/) {\n\t\tvar v = x.replace(vtvregex,\"\").match(vtmregex);\n\t\tif(v) res.push({v:utf8read(v[2]), t:v[1]});\n\t});\n\treturn res;\n}\n\nvar wtregex = /(^\\s|\\s$|\\n)/;\nfunction writetag(f/*:string*/,g/*:string*/)/*:string*/ { return '<' + f + (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + ''; }\n\nfunction wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f/*:string*/,g/*:?string*/,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx/*:?boolean*/)/*:string*/ {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nfunction xlml_normalize(d)/*:string*/ {\n\tif(has_buf &&/*::typeof Buffer !== \"undefined\" && d != null && d instanceof Buffer &&*/ Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>:\\/]+)(?:[\\s?:\\/][^>]*)?>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\n\nvar XMLNS = ({\n\tCORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',\n\tCUST_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",\n\tEXT_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\n\tCT: 'http://schemas.openxmlformats.org/package/2006/content-types',\n\tRELS: 'http://schemas.openxmlformats.org/package/2006/relationships',\n\tTCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments',\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n}/*:any*/);\n\nvar XMLNS_main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n}/*:any*/);\nfunction read_double_le(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b/*:RawBytes|CFBlob*/, v/*:number*/, idx/*:number*/) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar ___toBuffer = function(bufs/*:Array >*/)/*:RawBytes*/ { var x=[],w=10240; for(var i=0;i 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0].map(function(x) { return Buffer.isBuffer(x) ? x : Buffer_from(x); })) : ___toBuffer(bufs);} : ___toBuffer;\n\nvar ___utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/)/*:string*/ { var ss/*:Array*/=[]; for(var i=s; i*/=[]; for(var i=s; i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpstr = ___lpstr;\n\nvar ___cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __cpstr = ___cpstr;\n\nvar ___lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpwstr = ___lpwstr;\n\nvar ___lpp4 = function lpp4_(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __lpp4 = ___lpp4;\n\nvar ___8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = ___8lpp4;\n\nvar ___double = function(b/*:RawBytes|CFBlob*/, idx/*:number*/) { return read_double_le(b, idx);};\nvar __double = ___double;\n\nvar is_buf = function is_buf_a(a) { return Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n\nif(has_buf/*:: && typeof Buffer !== 'undefined'*/) {\n\t__lpstr = function lpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__double = function double_(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n}\n\n/* from js-xls */\nfunction cpdoit() {\n\t__utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\nif(typeof $cptable !== 'undefined') cpdoit();\n\nvar __readUInt8 = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx]; };\nvar __readUInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ {\n\tvar o=\"\", oI/*:: :number = 0*/, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof $cptable !== 'undefined') {\n\t\t\t\to = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\n\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\tfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof $cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = $cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tvar end/*:number*/ = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else /*:: if(typeof val === 'number') */ switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr/*:string*/, fld/*:string*/)/*:void*/ {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos/*:number*/)/*:void*/ {\n\tblob.l = pos;\n\tblob.read_shift = /*::(*/ReadShift/*:: :any)*/;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length/*:: :number, opts?:any */) { blob.l += length; }\n\nfunction new_buf(sz/*:number*/)/*:Block*/ {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = R.f && R.f(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array()/*:BufArray*/ {\n\tvar bufs/*:Array*/ = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz/*:number*/)/*:Block*/ {\n\t\tvar o/*:Block*/ = (new_buf(sz)/*:any*/);\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf/*:Block*/ = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz/*:number*/)/*:Block*/ {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn bconcat(bufs);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/);\n}\n\nfunction write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) {\n\tvar t/*:number*/ = +type, l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell/*:CellAddress*/, tgt/*:any*/, opts/*:?any*/)/*:CellAddress*/ {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c/*:CellAddress*/, biff/*:number*/)/*:string*/ {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts)/*:string*/ {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nfunction decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row/*:number*/)/*:string*/ { return \"\" + (row + 1); }\nfunction fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr/*:string*/)/*:number*/ { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col/*:number*/)/*:string*/ { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\n//function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction decode_cell(cstr/*:string*/)/*:CellAddress*/ {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\n//function encode_cell(cell/*:CellAddress*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); }\nfunction encode_cell(cell/*:CellAddress*/)/*:string*/ {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range/*:string*/)/*:Range*/ {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\n/*# if only one arg, it is assumed to be a Range. If 2 args, both are cell addresses */\nfunction encode_range(cs/*:CellAddrSpec|Range*/,ce/*:?CellAddrSpec*/)/*:string*/ {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\n/*:: if(!(cs instanceof Range)) throw \"unreachable\"; */\n\t\treturn encode_range(cs.s, cs.e);\n\t}\n/*:: if((cs instanceof Range)) throw \"unreachable\"; */\n\tif(typeof cs !== 'string') cs = encode_cell((cs/*:any*/));\n\tif(typeof ce !== 'string') ce = encode_cell((ce/*:any*/));\n/*:: if(typeof cs !== 'string') throw \"unreachable\"; */\n/*:: if(typeof ce !== 'string') throw \"unreachable\"; */\n\treturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range/*:string*/)/*:Range*/ {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\t++i;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell/*:Cell*/, v/*:any*/) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF_format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF_format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell/*:Cell*/, v/*:any*/, o/*:any*/) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(cell.t == \"e\") return BErr[cell.v] || cell.v;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet/*:Worksheet*/, opts)/*:Workbook*/ {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws/*:Worksheet*/ = _ws || (dense ? ([]/*:any*/) : ({}/*:any*/));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t\tif(!ws[\"!ref\"]) ws[\"!ref\"] = \"A1:A1\";\n\t}\n\tvar range/*:Range*/ = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell/*:Cell*/ = ({v: data[R][C] }/*:any*/);\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) {\n\t\t\t\t\tif(cell.f) cell.t = 'n';\n\t\t\t\t\telse if(o.nullError) { cell.t = 'e'; cell.v = 0; }\n\t\t\t\t\telse if(!o.sheetStubs) continue;\n\t\t\t\t\telse cell.t = 'z';\n\t\t\t\t}\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF_format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}/*:any*/));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ { return sheet_add_aoa(null, data, opts); }\n\nfunction parse_Int32LE(data) {\n\treturn data.read_shift(4, 'i');\n}\nfunction write_UInt32LE(x/*:number*/, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data/*::, length*/)/*:string*/ {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length/*:number*/)/*:XLString*/ {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str }/*:any*/);\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data)/*:any*/ {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell/*:any*/, o/*:?Block*/) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* Short XLSB Cell does not include column */\nfunction parse_XLSBShortCell(data)/*:any*/ {\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:-1, iStyleRef: iStyleRef };\n}\nfunction write_XLSBShortCell(cell/*:any*/, o/*:?Block*/) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data)/*:number*/ {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, (b[0] & 0xFC), b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data/*:number*/, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data /*::, length*/)/*:Range*/ {\n\tvar cell/*:Range*/ = ({ s: {}, e: {} }/*:any*/);\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r/*:Range*/, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx/*:string*/) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data/*::, length*/) {\n\tif(data.length - data.l < 8) throw \"XLS Xnum Buffer underflow\";\n\treturn data.read_shift(8, 'f');\n}\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data/*::, length*/) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data/*::, length, opts*/) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w/*:number*/)/*:string*/ {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m/*:number*/ = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n// Note: some tree shakers cannot handle VT_VECTOR | $CONST, hence extra vars\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\nvar VT_VECTOR_VARIANT = 0x100C;\nvar VT_VECTOR_LPSTR = 0x101E;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 },\n\t/*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 },\n\t/*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 },\n\t/*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 },\n\t/*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 },\n\t/*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 },\n\t/*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 },\n\t/*::[*/0x0b/*::]*/: { n: 'ScaleCrop', t: VT_BOOL },\n\t/*::[*/0x0c/*::]*/: { n: 'HeadingPairs', t: VT_VECTOR_VARIANT /* VT_VECTOR | VT_VARIANT */ },\n\t/*::[*/0x0d/*::]*/: { n: 'TitlesOfParts', t: VT_VECTOR_LPSTR /* VT_VECTOR | VT_LPSTR */ },\n\t/*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING },\n\t/*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING },\n\t/*::[*/0x10/*::]*/: { n: 'LinksUpToDate', t: VT_BOOL },\n\t/*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 },\n\t/*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL },\n\t/*::[*/0x16/*::]*/: { n: 'HyperlinksChanged', t: VT_BOOL },\n\t/*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' },\n\t/*::[*/0x18/*::]*/: { n: 'DigSig', t: VT_BLOB },\n\t/*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING },\n\t/*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING },\n\t/*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING },\n\t/*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING },\n\t/*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING },\n\t/*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING },\n\t/*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING },\n\t/*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING },\n\t/*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING },\n\t/*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME },\n\t/*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME },\n\t/*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME },\n\t/*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME },\n\t/*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 },\n\t/*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 },\n\t/*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 },\n\t/*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF },\n\t/*::[*/0x12/*::]*/: { n: 'Application', t: VT_STRING },\n\t/*::[*/0x13/*::]*/: { n: 'DocSecurity', t: VT_I4 },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n\t/*::[*/0x0001/*::]*/: \"US\", // United States\n\t/*::[*/0x0002/*::]*/: \"CA\", // Canada\n\t/*::[*/0x0003/*::]*/: \"\", // Latin America (except Brazil)\n\t/*::[*/0x0007/*::]*/: \"RU\", // Russia\n\t/*::[*/0x0014/*::]*/: \"EG\", // Egypt\n\t/*::[*/0x001E/*::]*/: \"GR\", // Greece\n\t/*::[*/0x001F/*::]*/: \"NL\", // Netherlands\n\t/*::[*/0x0020/*::]*/: \"BE\", // Belgium\n\t/*::[*/0x0021/*::]*/: \"FR\", // France\n\t/*::[*/0x0022/*::]*/: \"ES\", // Spain\n\t/*::[*/0x0024/*::]*/: \"HU\", // Hungary\n\t/*::[*/0x0027/*::]*/: \"IT\", // Italy\n\t/*::[*/0x0029/*::]*/: \"CH\", // Switzerland\n\t/*::[*/0x002B/*::]*/: \"AT\", // Austria\n\t/*::[*/0x002C/*::]*/: \"GB\", // United Kingdom\n\t/*::[*/0x002D/*::]*/: \"DK\", // Denmark\n\t/*::[*/0x002E/*::]*/: \"SE\", // Sweden\n\t/*::[*/0x002F/*::]*/: \"NO\", // Norway\n\t/*::[*/0x0030/*::]*/: \"PL\", // Poland\n\t/*::[*/0x0031/*::]*/: \"DE\", // Germany\n\t/*::[*/0x0034/*::]*/: \"MX\", // Mexico\n\t/*::[*/0x0037/*::]*/: \"BR\", // Brazil\n\t/*::[*/0x003d/*::]*/: \"AU\", // Australia\n\t/*::[*/0x0040/*::]*/: \"NZ\", // New Zealand\n\t/*::[*/0x0042/*::]*/: \"TH\", // Thailand\n\t/*::[*/0x0051/*::]*/: \"JP\", // Japan\n\t/*::[*/0x0052/*::]*/: \"KR\", // Korea\n\t/*::[*/0x0054/*::]*/: \"VN\", // Viet Nam\n\t/*::[*/0x0056/*::]*/: \"CN\", // China\n\t/*::[*/0x005A/*::]*/: \"TR\", // Turkey\n\t/*::[*/0x0069/*::]*/: \"JS\", // Ramastan\n\t/*::[*/0x00D5/*::]*/: \"DZ\", // Algeria\n\t/*::[*/0x00D8/*::]*/: \"MA\", // Morocco\n\t/*::[*/0x00DA/*::]*/: \"LY\", // Libya\n\t/*::[*/0x015F/*::]*/: \"PT\", // Portugal\n\t/*::[*/0x0162/*::]*/: \"IS\", // Iceland\n\t/*::[*/0x0166/*::]*/: \"FI\", // Finland\n\t/*::[*/0x01A4/*::]*/: \"CZ\", // Czech Republic\n\t/*::[*/0x0376/*::]*/: \"TW\", // Taiwan\n\t/*::[*/0x03C1/*::]*/: \"LB\", // Lebanon\n\t/*::[*/0x03C2/*::]*/: \"JO\", // Jordan\n\t/*::[*/0x03C3/*::]*/: \"SY\", // Syria\n\t/*::[*/0x03C4/*::]*/: \"IQ\", // Iraq\n\t/*::[*/0x03C5/*::]*/: \"KW\", // Kuwait\n\t/*::[*/0x03C6/*::]*/: \"SA\", // Saudi Arabia\n\t/*::[*/0x03CB/*::]*/: \"AE\", // United Arab Emirates\n\t/*::[*/0x03CC/*::]*/: \"IL\", // Israel\n\t/*::[*/0x03CE/*::]*/: \"QA\", // Qatar\n\t/*::[*/0x03D5/*::]*/: \"IR\", // Iran\n\t/*::[*/0xFFFF/*::]*/: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr/*:Array*/)/*:Array<[number, number, number]>*/ { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = /*#__PURE__*/ rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = /*#__PURE__*/dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n\t/*::[*/0x00/*::]*/: \"#NULL!\",\n\t/*::[*/0x07/*::]*/: \"#DIV/0!\",\n\t/*::[*/0x0F/*::]*/: \"#VALUE!\",\n\t/*::[*/0x17/*::]*/: \"#REF!\",\n\t/*::[*/0x1D/*::]*/: \"#NAME?\",\n\t/*::[*/0x24/*::]*/: \"#NUM!\",\n\t/*::[*/0x2A/*::]*/: \"#N/A\",\n\t/*::[*/0x2B/*::]*/: \"#GETTING_DATA\",\n\t/*::[*/0xFF/*::]*/: \"#WTF?\"\n};\n//var RBErr = evert_num(BErr);\nvar RBErr = {\n\t\"#NULL!\": 0x00,\n\t\"#DIV/0!\": 0x07,\n\t\"#VALUE!\": 0x0F,\n\t\"#REF!\": 0x17,\n\t\"#NAME?\": 0x1D,\n\t\"#NUM!\": 0x24,\n\t\"#N/A\": 0x2A,\n\t\"#GETTING_DATA\": 0x2B,\n\t\"#WTF?\": 0xFF\n};\n\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\": \"workbooks\",\n\t\"application/vnd.ms-excel.addin.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": \"sheets\",\n\t\"application/vnd.ms-excel.worksheet\": \"sheets\",\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Chartsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": \"charts\",\n\t\"application/vnd.ms-excel.chartsheet\": \"charts\",\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.macrosheet+xml\": \"macros\",\n\t\"application/vnd.ms-excel.macrosheet\": \"macros\",\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* Dialogsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": \"dialogs\",\n\t\"application/vnd.ms-excel.dialogsheet\": \"dialogs\",\n\n\t/* Shared Strings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\": \"strs\",\n\t\"application/vnd.ms-excel.sharedStrings\": \"strs\",\n\n\t/* Styles */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": \"styles\",\n\t\"application/vnd.ms-excel.styles\": \"styles\",\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* Comments */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": \"comments\",\n\t\"application/vnd.ms-excel.comments\": \"comments\",\n\t\"application/vnd.ms-excel.threadedcomments+xml\": \"threadedcomments\",\n\t\"application/vnd.ms-excel.person+xml\": \"people\",\n\n\t/* Metadata (Stock/Geography and Dynamic Array) */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"metadata\",\n\t\"application/vnd.ms-excel.sheetMetadata\": \"metadata\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"TODO\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n}/*:any*/);\n\nvar CT_LIST = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tmetadata: { /* Metadata (Stock/Geography and Dynamic Array) */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheetMetadata\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n};\n\nfunction new_ct()/*:any*/ {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], threadedcomments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [], metadata: [], people:[],\n\t\tTODO:[], xmlns: \"\" }/*:any*/);\n}\n\nfunction parse_ct(data/*:?string*/) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nfunction write_ct(ct, opts)/*:string*/ {\n\tvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\n\tvar o/*:Array*/ = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = writextag('Types', null, {\n\t\t'xmlns': XMLNS.CT,\n\t\t'xmlns:xsd': XMLNS.xsd,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t});\n\n\to = o.concat([\n\t\t['xml', 'application/xml'],\n\t\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t\t/* from test files */\n\t\t['bmp', 'image/bmp'],\n\t\t['png', 'image/png'],\n\t\t['gif', 'image/gif'],\n\t\t['emf', 'image/x-emf'],\n\t\t['wmf', 'image/x-wmf'],\n\t\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t\t['pdf', 'application/pdf'],\n\t\t['rels', 'application/vnd.openxmlformats-package.relationships+xml']\n\t].map(function(x) {\n\t\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n\t}));\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('threadedcomments');\n\tf3('drawings');\n\tf2('metadata');\n\tf3('people');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tCMNT: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n\tCORE_PROPS: \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n\tEXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',\n\tCUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties',\n\tSST: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",\n\tSTY: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n\tTHEME: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",\n\tCHART: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n\tCHARTEX: \"http://schemas.microsoft.com/office/2014/relationships/chartEx\",\n\tCS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",\n\tWS: [\n\t\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n\t],\n\tDS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",\n\tMS: \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\",\n\tIMG: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n\tDRAW: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n\tXLMETA: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\",\n\tTCMNT: \"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\",\n\tPEOPLE: \"http://schemas.microsoft.com/office/2017/10/relationships/person\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n}/*:any*/);\n\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file/*:string*/)/*:string*/ {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data/*:?string*/, currentFilePath/*:string*/) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nfunction add_rels(rels, rId/*:number*/, f, type, relobj, targetmode/*:?string*/)/*:number*/ {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(!rels['!idx']) rels['!idx'] = 1;\n\tif(rId < 0) for(rId = rels['!idx']; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trels['!idx'] = rId + 1;\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if([RELS.HLINK, RELS.XPATH, RELS.XMISS].indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest/*:Array >*/)/*:string*/ {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file/*:string*/, res/*:string*/, tag/*:?string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base/*:string*/, file/*:string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nfunction write_meta_ods(/*:: wb: Workbook, opts: any*/)/*:string*/ {\n\treturn 'Sheet' + 'JS ' + XLSX.version + '';\n}\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS/*:Array >*/ = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nvar CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, writextag('cp:coreProperties', null, {\n\t\t//'xmlns': XMLNS.CORE_PROPS,\n\t\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t\t'xmlns:dc': XMLNS.dc,\n\t\t'xmlns:dcterms': XMLNS.dcterms,\n\t\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t})], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS/*:Array >*/ = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP/*:string|Array>*/, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nfunction write_ext_props(cp/*::, opts*/)/*:string*/ {\n\tvar o/*:Array*/ = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (writextag('Properties', null, {\n\t\t'xmlns': XMLNS.EXT_PROPS,\n\t\t'xmlns:vt': XMLNS.vt\n\t}));\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data/*:string*/, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM;\n\nfunction xlml_set_prop(Props, tag/*:string*/, val) {\n\tif(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap);\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o/*:Array*/ = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops/*::, opts*/) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o/*:Array*/ = [];\n\tif(Props) keys(Props).forEach(function(k) {\n\t\t/*:: if(!Props) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\n\t\t/*:: if(!Custprops) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time/*:string|Date*/) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad/*:?number*/) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t/*:number*/, pad/*:?boolean*/) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t/*:number*/) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.7 VtVecLpwstrValue */\nfunction parse_VtVecLpwstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) {\n\t\tvar start = blob.l;\n\t\tret[i] = blob.read_shift(0, 'lpwstr').replace(chr0,'');\n\t\tif((blob.l - start) & 0x02) blob.l += 2;\n\t}\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar start = blob.l;\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tif(blob[blob.l] == 0x00 && blob[blob.l+1] == 0x00 && ((blob.l - start) & 0x02)) blob.l += 2;\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i < cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type/*:number*/, _opts)/*:any*/ {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1 && !((type & 0xFFFE) == 0x101E && (t & 0xFFFE) == 0x101E)) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPairValue(blob);\n\t\tcase 0x101E /*VT_VECTOR|VT_LPSTR*/:\n\t\tcase 0x101F /*VT_VECTOR|VT_LPWSTR*/:\n\t\t\treturn t == 0x101F ? parse_VtVecLpwstrValue(blob) : parse_VtVecUnalignedLpstrValue(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type/*:number*/, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: /*:: if(typeof value !== \"string\" && !(value instanceof Date)) throw \"unreachable\"; */ p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\n\t\t\t/*:: if(typeof value !== \"string\") throw \"unreachable\"; */\n\t\t\tp = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2)/*:number*/);\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ]; //.concat(PseudoPropsPairs);\nfunction guess_property_type(val/*:any*/)/*:number*/ {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI/*:: || {}*/)[idx]/*:: || {} */;\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\n\t\t\t\t/*:: if(typeof val !== \"string\") throw \"unreachable\"; */\n\t\t\t\tvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({}/*:any*/);\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/);\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI/*:{[key:string|number]:any}*/, entries2/*:?any*/, clsid2/*:?any*/) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr/*:: :XLString, opts*/) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob/*::, length, opts*/) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob/*::, length, opts*/) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob/*::, length*/) {\n\tvar cAnti = blob.read_shift(2);\n\tvar preamble = \"\"; while(cAnti-- > 0) preamble += \"../\";\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return preamble + ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn preamble + unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob/*::, length*/) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\nfunction write_HyperlinkString(str/*:string*/, o) {\n\tif(!o) o = new_buf(6 + str.length * 2);\n\to.write_shift(4, 1 + str.length);\n\tfor(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i));\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length)/*:Hyperlink*/ {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tif((flags & 0x0002) && target.charAt(0) == \"/\" && target.charAt(1) != \"/\") target = \"file://\" + target;\n\tvar out = ({Target:target}/*:any*/);\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tif(Target.slice(0,7) == \"file://\") Target = Target.slice(7);\n\tvar hashidx = Target.indexOf(\"#\");\n\tvar F = hashidx > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\twrite_HyperlinkString(Target, out);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar Pretarget = hashidx > -1 ? Target.slice(0, hashidx) : Target;\n\t\tout.write_shift(4, 2*(Pretarget.length + 1));\n\t\tfor(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t\tif(F & 0x08) write_HyperlinkString(hashidx > -1 ? Target.slice(hashidx+1): \"\", out);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length - 3 * P + 1);\n\t\tfor(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob/*::, length*/)/*:Cell*/ {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe}/*:any*/);\n}\nfunction write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r/*:Range*/, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob/*::, length*/) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n\t/*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */\n\t/*::[*/0x04/*::]*/: parse_FtSkip, /* FtMacro */\n\t/*::[*/0x05/*::]*/: parse_FtSkip, /* FtButton */\n\t/*::[*/0x06/*::]*/: parse_FtSkip, /* FtGmo */\n\t/*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */\n\t/*::[*/0x08/*::]*/: parse_FtSkip, /* FtPioGrbit */\n\t/*::[*/0x09/*::]*/: parse_FtSkip, /* FtPictFmla */\n\t/*::[*/0x0A/*::]*/: parse_FtSkip, /* FtCbls */\n\t/*::[*/0x0B/*::]*/: parse_FtSkip, /* FtRbo */\n\t/*::[*/0x0C/*::]*/: parse_FtSkip, /* FtSbs */\n\t/*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */\n\t/*::[*/0x0E/*::]*/: parse_FtSkip, /* FtSbsFmla */\n\t/*::[*/0x0F/*::]*/: parse_FtSkip, /* FtGboData */\n\t/*::[*/0x10/*::]*/: parse_FtSkip, /* FtEdoData */\n\t/*::[*/0x11/*::]*/: parse_FtSkip, /* FtRboData */\n\t/*::[*/0x12/*::]*/: parse_FtSkip, /* FtCblsData */\n\t/*::[*/0x13/*::]*/: parse_FtSkip, /* FtLbsData */\n\t/*::[*/0x14/*::]*/: parse_FtSkip, /* FtCblsFmla */\n\t/*::[*/0x15/*::]*/: parse_FtCmo\n};\nfunction parse_FtArray(blob, length/*::, ot*/) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb/*:Workbook*/, t/*:number*/, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s/*:string*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10, fBelow: flags & 0x40, fRight: flags & 0x80 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length)/*:SST*/ {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs/*:SST*/ = ([]/*:any*/);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\n\t/*::(*/o/*:: :any)*/.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({}/*:any*/);\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1(/*::opts*/) {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o/*:any*/ = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ /*::, opts*/) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i/*:number*/, f/*:string*/, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\tvar f = 0;\n\tif(data.numFmtId > 0 && b5) f |= 0x0400;\n\to.write_shift(4, f);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts/*:Array*/) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2 || length == 9) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:string*/) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t}/*:any*/);\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\t/*jshint -W018 */\n\tvar rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\t/*jshint +W018 */\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length)/*:Array*/ {\n\tvar merges/*:Array*/ = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges/*:Array*/) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = {\n0x08: function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n}\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts); // eslint-disable-line no-unused-vars\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob)/*:[string|number, string|number]*/ {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}/*:any*/);\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\nfunction write_ColInfo(col, idx) {\n\tvar o = new_buf(12);\n\to.write_shift(2, idx);\n\to.write_shift(2, idx);\n\to.write_shift(2, col.width * 256);\n\to.write_shift(2, 0);\n\tvar f = 0;\n\tif(col.hidden) f |= 1;\n\to.write_shift(1, f);\n\tf = col.level || 0;\n\to.write_shift(1, f);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n/*:number*/) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 5) opts.biff = 2;\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob/*::, length*/) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\nvar DBF = /*#__PURE__*/(function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\n\t/* shapefile DBF extension */\n\t/*::[*/0x00/*::]*/: 20127, /*::[*/0x08/*::]*/: 865,\n\t/*::[*/0x09/*::]*/: 437, /*::[*/0x0A/*::]*/: 850,\n\t/*::[*/0x0B/*::]*/: 437, /*::[*/0x0D/*::]*/: 437,\n\t/*::[*/0x0E/*::]*/: 850, /*::[*/0x0F/*::]*/: 437,\n\t/*::[*/0x10/*::]*/: 850, /*::[*/0x11/*::]*/: 437,\n\t/*::[*/0x12/*::]*/: 850, /*::[*/0x13/*::]*/: 932,\n\t/*::[*/0x14/*::]*/: 850, /*::[*/0x15/*::]*/: 437,\n\t/*::[*/0x16/*::]*/: 850, /*::[*/0x17/*::]*/: 865,\n\t/*::[*/0x18/*::]*/: 437, /*::[*/0x19/*::]*/: 437,\n\t/*::[*/0x1A/*::]*/: 850, /*::[*/0x1B/*::]*/: 437,\n\t/*::[*/0x1C/*::]*/: 863, /*::[*/0x1D/*::]*/: 850,\n\t/*::[*/0x1F/*::]*/: 852, /*::[*/0x22/*::]*/: 852,\n\t/*::[*/0x23/*::]*/: 852, /*::[*/0x24/*::]*/: 860,\n\t/*::[*/0x25/*::]*/: 850, /*::[*/0x26/*::]*/: 866,\n\t/*::[*/0x37/*::]*/: 850, /*::[*/0x40/*::]*/: 852,\n\t/*::[*/0x4D/*::]*/: 936, /*::[*/0x4E/*::]*/: 949,\n\t/*::[*/0x4F/*::]*/: 950, /*::[*/0x50/*::]*/: 874,\n\t/*::[*/0x57/*::]*/: 1252, /*::[*/0x58/*::]*/: 1252,\n\t/*::[*/0x59/*::]*/: 1252, /*::[*/0x6C/*::]*/: 863,\n\t/*::[*/0x86/*::]*/: 737, /*::[*/0x87/*::]*/: 852,\n\t/*::[*/0x88/*::]*/: 857, /*::[*/0xCC/*::]*/: 1257,\n\n\t/*::[*/0xFF/*::]*/: 16969\n};\nvar dbf_reverse_map = evert({\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\t/*::[*/0x00/*::]*/: 20127\n});\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts)/*:AOA*/ {\n\tvar out/*:AOA*/ = [];\n\tvar d/*:Block*/ = (new_raw_buf(1)/*:any*/);\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64_decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = !!(ft & 0x88);\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: break; // dBASE II\n\t\tcase 0x03: break; // dBASE III\n\t\tcase 0x30: vfp = true; memo = true; break; // VFP\n\t\tcase 0x31: vfp = true; memo = true; break; // VFP with autoincrement\n\t\t// 0x43 dBASE IV SQL table files\n\t\t// 0x63 dBASE IV SQL system files\n\t\tcase 0x83: break; // dBASE III with memo\n\t\tcase 0x8B: break; // dBASE IV with memo\n\t\tcase 0x8C: l7 = true; break; // dBASE Level 7 with memo\n\t\t// case 0xCB dBASE IV SQL table files with memo\n\t\tcase 0xF5: break; // FoxPro 2.x with memo\n\t\t// case 0xFB FoxBASE\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\n\tvar nrow = 0, fpos = 0x0209;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\td.l += 3; // dBASE II stores DDMMYY date, others use YYMMDD\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(nrow > 1048576) nrow = 1e6;\n\n\tif(ft != 0x02) fpos = d.read_shift(2); // header length\n\tvar rlen = d.read_shift(2); // record length\n\n\tvar /*flags = 0,*/ current_cp = opts.codepage || 1252;\n\tif(ft != 0x02) { // 20 reserved bytes\n\t\td.l+=16;\n\t\t/*flags = */d.read_shift(1);\n\t\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t\t/* codepage present in FoxPro and dBASE Level 7 */\n\t\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\t\td.l+=1;\n\n\t\td.l+=2;\n\t}\n\tif(l7) d.l += 36; // Level 7: 32 byte \"Language driver name\", 4 byte reserved\n\n/*:: type DBFField = { name:string; len:number; type:string; } */\n\tvar fields/*:Array*/ = [], field/*:DBFField*/ = ({}/*:any*/);\n\tvar hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0))));\n\tvar ww = l7 ? 32 : 11;\n\twhile(d.l < hend && d[d.l] != 0x0d) {\n\t\tfield = ({}/*:any*/);\n\t\tfield.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // Double (VFP) / Binary (dBASE L7)\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General (FoxPro and dBASE L7)\n\t\t\tcase 'P': // Picture (FoxPro and dBASE L7)\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase '+': // Autoincrement (dBASE L7 only)\n\t\t\tcase '0': // _NullFlags (VFP only)\n\t\t\tcase '@': // Timestamp (dBASE L7 only)\n\t\t\tcase 'C': // Character (dBASE II)\n\t\t\tcase 'D': // Date (dBASE III)\n\t\t\tcase 'F': // Float (dBASE IV)\n\t\t\tcase 'I': // Long (VFP and dBASE L7)\n\t\t\tcase 'L': // Logical (dBASE II)\n\t\t\tcase 'M': // Memo (dBASE III)\n\t\t\tcase 'N': // Number (dBASE II)\n\t\t\tcase 'O': // Double (dBASE L7 only)\n\t\t\tcase 'T': // Datetime (VFP only)\n\t\t\tcase 'Y': // Currency (VFP only)\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\td.l = fpos;\n\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) {\n\t\t\t// TODO: record marked as deleted -- create a hidden row?\n\t\t\td.l+=rlen;\n\t\t\tcontinue;\n\t\t}\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = $cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\t// NOTE: it is conventional to write ' / / ' for empty dates\n\t\t\t\t\tif(s.trim().length) out[R][C] = s.replace(/\\s+$/,\"\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.trim().toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase '': case '?': break;\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N':\n\t\t\t\t\ts = s.replace(/\\u0000/g,\"\").trim();\n\t\t\t\t\t// NOTE: dBASE II interprets \" . \" as 0\n\t\t\t\t\tif(s && s != \".\") out[R][C] = +s || 0; break;\n\t\t\t\tcase '@':\n\t\t\t\t\t// NOTE: dBASE specs appear to be incorrect\n\t\t\t\t\tout[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\topts.DBF = fields;\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\tvar ws = aoa_to_sheet(dbf_to_aoa(buf, o), o);\n\tws[\"!cols\"] = o.DBF.map(function(field) { return {\n\t\twch: field.len,\n\t\tDBF: field\n\t};});\n\tdelete o.DBF;\n\treturn ws;\n}\n\nfunction dbf_to_workbook(buf, opts)/*:Workbook*/ {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa/*:AOA*/ = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1), cols = ws[\"!cols\"] || [];\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; }\n\t\tif(headers[i] == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes/*:Array*/ = [];\n\tvar colwidths/*:Array*/ = [];\n\tvar coldecimals/*:Array*/ = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar guess = '', _guess = '', maxlen = 0;\n\t\tvar col/*:Array*/ = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tmaxlen = Math.max(maxlen, String(col[j]).length);\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\t//if(guess == 'C') break;\n\t\t}\n\t\tif(maxlen > 250) maxlen = 250;\n\t\t_guess = ((cols[i]||{}).DBF||{}).type;\n\t\t/* TODO: more fine grained control over DBF type resolution */\n\t\tif(_guess == 'C') {\n\t\t\tif(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len;\n\t\t}\n\t\tif(guess == 'B' && _guess == 'N') {\n\t\t\tguess = 'N';\n\t\t\tcoldecimals[i] = cols[i].DBF.dec;\n\t\t\tmaxlen = cols[i].DBF.len;\n\t\t}\n\t\tcolwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0);\n\t\trlen += colwidths[i];\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[/*::String(*/current_ansi/*::)*/] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, coldecimals[i] || 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += (colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t}/*:any*/);\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str/*:string*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr/*:AOA*/ = [];\n\t\tvar formats/*:Array*/ = [];\n\t\tvar next_cell_format/*:string|null*/ = null;\n\t\tvar sht = {}, rowinfo/*:Array*/ = [], colinfo/*:Array*/ = [], cw/*:Array*/ = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'W': break; /* window? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1;\n\t\t\tfor(rj=1; rj -1 && arr[_R][_C];\n\t\t\t\tif(!shrbase || !shrbase[1]) throw new Error(\"SYLK shared formula cannot find base\");\n\t\t\t\tarr[R][C][1] = shift_formula_str(shrbase[1], {r: R - _R, c: C - _C});\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 'F':\n\t\t\tvar F_seen = 0;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*//*::, opts*/)/*:string*/ {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\").replace(/;/g, \";;\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number' && !col.wpx) col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number' && !col.wch) col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out/*:Array*/, rows/*:Array*/) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/)/*:string*/ {\n\t\tvar preamble/*:Array*/ = [\"ID;PWXL;N;E\"], o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = /*#__PURE__*/(function() {\n\tfunction dif_to_aoa(d/*:RawData*/, opts)/*:AOA*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri] || \"\";\n\t\t\twhile(((data.match(/[\"]/g)||[]).length & 1) && ri < records.length - 1) data += \"\\n\" + records[++ri];\n\t\t\tdata = data.trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tdata = data.replace(/\"\"/g, '\"');\n\t\t\t\t\tif(DIF_XL && data && data.match(/^=\".*\"$/)) data = data.slice(2, -1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = /*#__PURE__*/(function() {\n\t\tvar push_field = function pf(o/*:Array*/, topic/*:string*/, v/*:number*/, n/*:number*/, s/*:string*/) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o/*:Array*/, type/*:number*/, v/*:any*/, s/*:string*/) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\t\tvar o/*:Array*/ = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF_format(cell.z || table_fmt[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = /*#__PURE__*/(function() {\n\tfunction decode(s/*:string*/)/*:string*/ { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s/*:string*/)/*:string*/ { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws/*:Worksheet*/)/*:string*/ {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o/*:Array*/ = [], oo/*:Array*/ = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF_format(cell.z || table_fmt[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = /*#__PURE__*/(function() {\n\tfunction set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/, o/*:any*/) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f/*:string*/, opts)/*:AOA*/ {\n\t\tvar o = opts || {};\n\t\tvar arr/*:AOA*/ = ([]/*:any*/);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n\t\t/*::[*/0x2C/*::]*/: ',',\n\t\t/*::[*/0x09/*::]*/: \"\\t\",\n\t\t/*::[*/0x3B/*::]*/: ';',\n\t\t/*::[*/0x7C/*::]*/: '|'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n\t\t/*::[*/0x2C/*::]*/: 3,\n\t\t/*::[*/0x09/*::]*/: 2,\n\t\t/*::[*/0x3B/*::]*/: 1,\n\t\t/*::[*/0x7C/*::]*/: 0\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]] || 0x2C;\n\t}\n\n\tfunction dsv_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:0}}/*:any*/);\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t\telse sep = guess_sep(str.slice(0,1024));\n\t\t}\n\t\telse if(o && o.FS) sep = o.FS;\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0);\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({}/*:any*/);\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1; startcc = str.charCodeAt(start);\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: if(startcc === 0x22) instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(opts.FS) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64_decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf\n\t\t\t\telse if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d);\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str);\n\t\telse if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\tvar o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo/*:Array*/ = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = /*#__PURE__*/(function() {\n\tfunction lotushopper(data, cb/*:RecordHopperCB*/, opts/*:any*/) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFFFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = R.f && R.f(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d/*:RawData*/, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64_decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts)/*:Workbook*/ {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s/*:Worksheet*/ = ((o.dense ? [] : {})/*:any*/), n = \"Sheet1\", next_n = \"\", sidx = 0;\n\t\tvar sheets = {}, snames = [], realnames = [];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x00) {\n\t\t\tif(d[3] == 0x08 || d[3] == 0x09) {\n\t\t\t\tif(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error(\"Unsupported Works 3 for Mac file\");\n\t\t\t}\n\t\t}\n\n\t\tif(d[2] == 0x02) {\n\t\t\to.Enum = WK1Enum;\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0x00: /* BOF */\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0xDE: next_n = val; break; /* SHEETNAMELP */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || table_fmt[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\n\t\t\t\t\tif(o.qpro) {\n\t\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\t\tsidx = val[3]; n = next_n || \"Sheet\" + (sidx + 1); next_n = \"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];\n\t\t\t\t\tif(tmpcell) {\n\t\t\t\t\t\ttmpcell.t = val[1].t; tmpcell.v = val[1].v;\n\t\t\t\t\t\tif(val[1].z != null) tmpcell.z = val[1].z;\n\t\t\t\t\t\tif(val[1].f != null) tmpcell.f = val[1].f;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}}, o);\n\t\t} else if(d[2] == 0x1A || d[2] == 0x0E) {\n\t\t\to.Enum = WK3Enum;\n\t\t\tif(d[2] == 0x0E) { o.qpro = true; d.l = 0; }\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0xCC: n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x1B: /* XFORMAT */\n\t\t\t\t\tif(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0601: /* SHEETINFOQP */\n\t\t\t\t\trealnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;\n\t\t\t\tdefault: break;\n\t\t\t}}, o);\n\t\t} else throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[next_n || n] = s;\n\t\tsnames.push(next_n || n);\n\t\tif(!realnames.length) return { SheetNames: snames, Sheets: sheets };\n\t\tvar osheets = {}, rnames = [];\n\t\t/* TODO: verify no collisions */\n\t\tfor(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {\n\t\t\trnames.push(realnames[i] || snames[i]);\n\t\t\tosheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];\n\t\t} else {\n\t\t\trnames.push(realnames[i]);\n\t\t\tosheets[realnames[i]] = ({ \"!ref\": \"A1\" });\n\t\t}\n\t\treturn { SheetNames: rnames, Sheets: osheets };\n\t}\n\n\tfunction sheet_to_wk1(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK1 to JS string\");\n\t\tvar ba = buf_array();\n\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\tvar dense = Array.isArray(ws);\n\t\tvar cols = [];\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));\n\t\twrite_biff_rec(ba, 0x06, write_RANGE(range));\n\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\tvar rr = encode_row(R);\n\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t/* TODO: formula records */\n\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\tif((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v));\n\t\t\t\t\telse write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v));\n\t\t\t\t} else {\n\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\twrite_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239)));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\tfunction book_to_wk3(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK3 to JS string\");\n\t\tvar ba = buf_array();\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK3(wb));\n\n\t\tfor(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})[\"!ref\"]) write_biff_rec(ba, 0x1b, write_XFORMAT_SHEETNAME(wb.SheetNames[i], cnt++));\n\n\t\tvar wsidx = 0;\n\t\tfor(i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tvar cols = [];\n\t\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\t\tvar rr = encode_row(R);\n\t\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t\t/* TODO: FORMULA19 NUMBER18 records */\n\t\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\t\twrite_biff_rec(ba, 0x17, write_NUMBER_17(R, C, wsidx, cell.v));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\t\t/* TODO: max len? */\n\t\t\t\t\t\twrite_biff_rec(ba, 0x16, write_LABEL_16(R, C, wsidx, str.slice(0, 239)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t++wsidx;\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\n\tfunction write_BOF_WK1(v/*:number*/) {\n\t\tvar out = new_buf(2);\n\t\tout.write_shift(2, v);\n\t\treturn out;\n\t}\n\n\tfunction write_BOF_WK3(wb/*:Workbook*/) {\n\t\tvar out = new_buf(26);\n\t\tout.write_shift(2, 0x1000);\n\t\tout.write_shift(2, 0x0004);\n\t\tout.write_shift(4, 0x0000);\n\t\tvar rows = 0, cols = 0, wscnt = 0;\n\t\tfor(var i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar name = wb.SheetNames[i];\n\t\t\tvar ws = wb.Sheets[name];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\t++wscnt;\n\t\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\t\tif(rows < range.e.r) rows = range.e.r;\n\t\t\tif(cols < range.e.c) cols = range.e.c;\n\t\t}\n\t\tif(rows > 8191) rows = 8191;\n\t\tout.write_shift(2, rows);\n\t\tout.write_shift(1, wscnt);\n\t\tout.write_shift(1, cols);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(1, 0x01);\n\t\tout.write_shift(1, 0x02);\n\t\tout.write_shift(4, 0);\n\t\tout.write_shift(4, 0);\n\t\treturn out;\n\t}\n\n\tfunction parse_RANGE(blob, length, opts) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\tif(length == 8 && opts.qpro) {\n\t\t\to.s.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.s.r = blob.read_shift(2);\n\t\t\to.e.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.e.r = blob.read_shift(2);\n\t\t\treturn o;\n\t\t}\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\tfunction write_RANGE(range) {\n\t\tvar out = new_buf(8);\n\t\tout.write_shift(2, range.s.c);\n\t\tout.write_shift(2, range.s.r);\n\t\tout.write_shift(2, range.e.c);\n\t\tout.write_shift(2, range.e.r);\n\t\treturn out;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\to[3] = blob.read_shift(1);\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL(R, C, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(7 + s.length);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, 0x27); // ??\n\t\tfor(var i = 0; i < o.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\tfunction write_INTEGER(R, C, v) {\n\t\tvar o = new_buf(7);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(2, v, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\tfunction write_NUMBER(R, C, v) {\n\t\tvar o = new_buf(13);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(8, v, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\twk1_fmla_to_csf(blob.slice(blob.l, blob.l + flen), o);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction wk1_parse_rc(B, V, col) {\n\t\tvar rel = V & 0x8000;\n\t\tV &= ~0x8000;\n\t\tV = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V);\n\t\treturn (rel ? \"\" : \"$\") + (col ? encode_col(V) : encode_row(V));\n\t}\n\t/* var oprec = [\n\t\t8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3,\n\t\t3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8\n\t]; */\n\t/* TODO: flesh out */\n\tvar FuncTab = {\n\t\t0x33: [\"FALSE\", 0],\n\t\t0x34: [\"TRUE\", 0],\n\t\t0x46: [\"LEN\", 1],\n\t\t0x50: [\"SUM\", 69],\n\t\t0x51: [\"AVERAGEA\", 69],\n\t\t0x52: [\"COUNTA\", 69],\n\t\t0x53: [\"MINA\", 69],\n\t\t0x54: [\"MAXA\", 69],\n\t\t0x6F: [\"T\", 1]\n\t};\n\tvar BinOpTab = [\n\t\t \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"\", \"+\", \"-\", \"*\", \"/\", \"^\", \"=\", \"<>\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t\"<=\", \">=\", \"<\", \">\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"&\", \"\", \"\", \"\", \"\", \"\", \"\", \"\" // eslint-disable-line no-mixed-spaces-and-tabs\n\t];\n\n\tfunction wk1_fmla_to_csf(blob, o) {\n\t\tprep_blob(blob, 0);\n\t\tvar out = [], argc = 0, R = \"\", C = \"\", argL = \"\", argR = \"\";\n\t\twhile(blob.l < blob.length) {\n\t\t\tvar cc = blob[blob.l++];\n\t\t\tswitch(cc) {\n\t\t\t\tcase 0x00: out.push(blob.read_shift(8, 'f')); break;\n\t\t\t\tcase 0x01: {\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x02: {\n\t\t\t\t\tvar c = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tvar r = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(c + r + \":\" + C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tif(blob.l < blob.length) { console.error(\"WK1 premature formula end\"); return; }\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x04: out.push(\"(\" + out.pop() + \")\"); break;\n\t\t\t\tcase 0x05: out.push(blob.read_shift(2)); break;\n\t\t\t\tcase 0x06: {\n\t\t\t\t\t/* TODO: text encoding */\n\t\t\t\t\tvar Z = \"\"; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc);\n\t\t\t\t\tout.push('\"' + Z.replace(/\"/g, '\"\"') + '\"');\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x08: out.push(\"-\" + out.pop()); break;\n\t\t\t\tcase 0x17: out.push(\"+\" + out.pop()); break;\n\t\t\t\tcase 0x16: out.push(\"NOT(\" + out.pop() + \")\"); break;\n\n\t\t\t\tcase 0x14: case 0x15: {\n\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\tout.push([\"AND\", \"OR\"][cc - 0x14] + \"(\" + argL + \",\" + argR + \")\");\n\t\t\t\t} break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif(cc < 0x20 && BinOpTab[cc]) {\n\t\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\t\tout.push(argL + BinOpTab[cc] + argR);\n\t\t\t\t\t} else if(FuncTab[cc]) {\n\t\t\t\t\t\targc = FuncTab[cc][1];\n\t\t\t\t\t\tif(argc == 69) argc = blob[blob.l++];\n\t\t\t\t\t\tif(argc > out.length) { console.error(\"WK1 bad formula parse 0x\" + cc.toString(16) + \":|\" + out.join(\"|\") + \"|\"); return; }\n\t\t\t\t\t\tvar args = out.slice(-argc);\n\t\t\t\t\t\tout.length -= argc;\n\t\t\t\t\t\tout.push(FuncTab[cc][0] + \"(\" + args.join(\",\") + \")\");\n\t\t\t\t\t}\n\t\t\t\t\telse if(cc <= 0x07) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x18) return console.error(\"WK1 unsupported op \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x1E) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x73) return console.error(\"WK1 unsupported function opcode \" + cc.toString(16));\n\t\t\t\t\t// possible future functions ??\n\t\t\t\t\telse return console.error(\"WK1 unrecognized opcode \" + cc.toString(16));\n\t\t\t}\n\t\t}\n\t\tif(out.length == 1) o[1].f = \"\" + out[0];\n\t\telse console.error(\"WK1 bad formula parse |\" + out.join(\"|\") + \"|\");\n\t}\n\n\n\tfunction parse_cell_3(blob/*::, length*/) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL_16(R, C, wsidx, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(6 + s.length);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\to.write_shift(1, 0x27);\n\t\tfor(var i = 0; i < s.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 0: v = (v >> 3) * 5000; break;\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 3: v = (v >> 3) / 200; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 5: v = (v >> 3) / 20000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) {\n\t\t\tif(v1 === 0 && v2 === 0xC0000000) { o[1].t = \"e\"; o[1].v = 0x0F; } // ERR -> #VALUE!\n\t\t\telse if(v1 === 0 && v2 === 0xD0000000) { o[1].t = \"e\"; o[1].v = 0x2A; } // NA -> #N/A\n\t\t\telse o[1].v = 0;\n\t\t\treturn o;\n\t\t}\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (1 - s*2) * (v2 * Math.pow(2, e+32) + v1 * Math.pow(2, e));\n\t\treturn o;\n\t}\n\tfunction write_NUMBER_17(R, C, wsidx, v) {\n\t\tvar o = new_buf(14);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\tif(v == 0) {\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(2, 0xFFFF);\n\t\t\treturn o;\n\t\t}\n\t\tvar s = 0, e = 0, v1 = 0, v2 = 0;\n\t\tif(v < 0) { s = 1; v = -v; }\n\t\te = Math.log2(v) | 0;\n\t\tv /= Math.pow(2, e-31);\n\t\tv2 = (v)>>>0;\n\t\tif((v2&0x80000000) == 0) { v/=2; ++e; v2 = v >>> 0; }\n\t\tv -= v2;\n\t\tv2 |= 0x80000000;\n\t\tv2 >>>= 0;\n\t\tv *= Math.pow(2, 32);\n\t\tv1 = v>>>0;\n\t\to.write_shift(4, v1);\n\t\to.write_shift(4, v2);\n\t\te += 0x3FFF + (s ? 0x8000 : 0);\n\t\to.write_shift(2, e);\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: WK3 formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETNAMECS(blob, length) {\n\t\treturn blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : \"\";\n\t}\n\n\tfunction parse_SHEETNAMELP(blob, length) {\n\t\tvar len = blob[blob.l++];\n\t\tif(len > length - 1) len = length - 1;\n\t\tvar o = \"\"; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETINFOQP(blob, length, opts) {\n\t\tif(!opts.qpro || length < 21) return;\n\t\tvar id = blob.read_shift(1);\n\t\tblob.l += 17;\n\t\tblob.l += 1; //var len = blob.read_shift(1);\n\t\tblob.l += 2;\n\t\tvar nm = blob.read_shift(length - 21, 'cstr');\n\t\treturn [id, nm];\n\t}\n\n\tfunction parse_XFORMAT(blob, length) {\n\t\tvar o = {}, tgt = blob.l + length;\n\t\twhile(blob.l < tgt) {\n\t\t\tvar dt = blob.read_shift(2);\n\t\t\tif(dt == 0x36b0) {\n\t\t\t\to[dt] = [0, \"\"];\n\t\t\t\to[dt][0] = blob.read_shift(2);\n\t\t\t\twhile(blob[blob.l]) { o[dt][1] += String.fromCharCode(blob[blob.l]); blob.l++; } blob.l++;\n\t\t\t}\n\t\t\t// TODO: 0x3a99 ??\n\t\t}\n\t\treturn o;\n\t}\n\tfunction write_XFORMAT_SHEETNAME(name, wsidx) {\n\t\tvar out = new_buf(5 + name.length);\n\t\tout.write_shift(2, 0x36b0);\n\t\tout.write_shift(2, wsidx);\n\t\tfor(var i = 0; i < name.length; ++i) {\n\t\t\tvar cc = name.charCodeAt(i);\n\t\t\tout[out.l++] = cc > 0x7F ? 0x5F : cc;\n\t\t}\n\t\tout[out.l++] = 0;\n\t\treturn out;\n\t}\n\n\tvar WK1Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\", f:parseuint16 },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"CALCMODE\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCORDER\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"SPLIT\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SYNC\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"RANGE\", f:parse_RANGE },\n\t\t/*::[*/0x0007/*::]*/: { n:\"WINDOW1\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"COLW1\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"WINTWO\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"COLW2\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"NAME\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"BLANK\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"INTEGER\", f:parse_INTEGER },\n\t\t/*::[*/0x000E/*::]*/: { n:\"NUMBER\", f:parse_NUMBER },\n\t\t/*::[*/0x000F/*::]*/: { n:\"LABEL\", f:parse_LABEL },\n\t\t/*::[*/0x0010/*::]*/: { n:\"FORMULA\", f:parse_FORMULA },\n\t\t/*::[*/0x0018/*::]*/: { n:\"TABLE\" },\n\t\t/*::[*/0x0019/*::]*/: { n:\"ORANGE\" },\n\t\t/*::[*/0x001A/*::]*/: { n:\"PRANGE\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"SRANGE\" },\n\t\t/*::[*/0x001C/*::]*/: { n:\"FRANGE\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"KRANGE1\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"HRANGE\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"KRANGE2\" },\n\t\t/*::[*/0x0024/*::]*/: { n:\"PROTEC\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"FOOTER\" },\n\t\t/*::[*/0x0026/*::]*/: { n:\"HEADER\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"SETUP\" },\n\t\t/*::[*/0x0028/*::]*/: { n:\"MARGINS\" },\n\t\t/*::[*/0x0029/*::]*/: { n:\"LABELFMT\" },\n\t\t/*::[*/0x002A/*::]*/: { n:\"TITLES\" },\n\t\t/*::[*/0x002B/*::]*/: { n:\"SHEETJS\" },\n\t\t/*::[*/0x002D/*::]*/: { n:\"GRAPH\" },\n\t\t/*::[*/0x002E/*::]*/: { n:\"NGRAPH\" },\n\t\t/*::[*/0x002F/*::]*/: { n:\"CALCCOUNT\" },\n\t\t/*::[*/0x0030/*::]*/: { n:\"UNFORMATTED\" },\n\t\t/*::[*/0x0031/*::]*/: { n:\"CURSORW12\" },\n\t\t/*::[*/0x0032/*::]*/: { n:\"WINDOW\" },\n\t\t/*::[*/0x0033/*::]*/: { n:\"STRING\", f:parse_LABEL },\n\t\t/*::[*/0x0037/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0038/*::]*/: { n:\"LOCKED\" },\n\t\t/*::[*/0x003C/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x003D/*::]*/: { n:\"QUERYNAME\" },\n\t\t/*::[*/0x003E/*::]*/: { n:\"PRINT\" },\n\t\t/*::[*/0x003F/*::]*/: { n:\"PRINTNAME\" },\n\t\t/*::[*/0x0040/*::]*/: { n:\"GRAPH2\" },\n\t\t/*::[*/0x0041/*::]*/: { n:\"GRAPHNAME\" },\n\t\t/*::[*/0x0042/*::]*/: { n:\"ZOOM\" },\n\t\t/*::[*/0x0043/*::]*/: { n:\"SYMSPLIT\" },\n\t\t/*::[*/0x0044/*::]*/: { n:\"NSROWS\" },\n\t\t/*::[*/0x0045/*::]*/: { n:\"NSCOLS\" },\n\t\t/*::[*/0x0046/*::]*/: { n:\"RULER\" },\n\t\t/*::[*/0x0047/*::]*/: { n:\"NNAME\" },\n\t\t/*::[*/0x0048/*::]*/: { n:\"ACOMM\" },\n\t\t/*::[*/0x0049/*::]*/: { n:\"AMACRO\" },\n\t\t/*::[*/0x004A/*::]*/: { n:\"PARSE\" },\n\t\t/*::[*/0x0066/*::]*/: { n:\"PRANGES??\" },\n\t\t/*::[*/0x0067/*::]*/: { n:\"RRANGES??\" },\n\t\t/*::[*/0x0068/*::]*/: { n:\"FNAME??\" },\n\t\t/*::[*/0x0069/*::]*/: { n:\"MRANGES??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00DE/*::]*/: { n:\"SHEETNAMELP\", f:parse_SHEETNAMELP },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\n\tvar WK3Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\" },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCSET\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"WINDOWSET\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SHEETCELLPTR\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"SHEETLAYOUT\" },\n\t\t/*::[*/0x0007/*::]*/: { n:\"COLUMNWIDTH\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"HIDDENCOLUMN\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"USERRANGE\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"SYSTEMRANGE\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"ZEROFORCE\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"SORTKEYDIR\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"FILESEAL\" },\n\t\t/*::[*/0x000E/*::]*/: { n:\"DATAFILLNUMS\" },\n\t\t/*::[*/0x000F/*::]*/: { n:\"PRINTMAIN\" },\n\t\t/*::[*/0x0010/*::]*/: { n:\"PRINTSTRING\" },\n\t\t/*::[*/0x0011/*::]*/: { n:\"GRAPHMAIN\" },\n\t\t/*::[*/0x0012/*::]*/: { n:\"GRAPHSTRING\" },\n\t\t/*::[*/0x0013/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0014/*::]*/: { n:\"ERRCELL\" },\n\t\t/*::[*/0x0015/*::]*/: { n:\"NACELL\" },\n\t\t/*::[*/0x0016/*::]*/: { n:\"LABEL16\", f:parse_LABEL_16},\n\t\t/*::[*/0x0017/*::]*/: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n\t\t/*::[*/0x0018/*::]*/: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n\t\t/*::[*/0x0019/*::]*/: { n:\"FORMULA19\", f:parse_FORMULA_19},\n\t\t/*::[*/0x001A/*::]*/: { n:\"FORMULA1A\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"XFORMAT\", f:parse_XFORMAT },\n\t\t/*::[*/0x001C/*::]*/: { n:\"DTLABELMISC\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"DTLABELCELL\" },\n\t\t/*::[*/0x001E/*::]*/: { n:\"GRAPHWINDOW\" },\n\t\t/*::[*/0x001F/*::]*/: { n:\"CPA\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"LPLAUTO\" },\n\t\t/*::[*/0x0021/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x0022/*::]*/: { n:\"HIDDENSHEET\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n\t\t/*::[*/0x0026/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n\t\t/*::[*/0x0028/*::]*/: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n\t\t/*::[*/0x008E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0093/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0096/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0097/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0098/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0099/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00A3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B1/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B8/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BA/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BB/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BC/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00CD/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00D0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0100/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0103/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0104/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0105/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0106/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0107/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0109/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010F/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0180/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0185/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0186/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0189/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x018C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0200/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0202/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0201/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0204/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0205/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0280/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0281/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0282/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0283/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0284/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0285/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0286/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0287/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0288/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0292/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0293/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0294/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0295/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0296/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0299/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x029A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0300/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0304/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0601/*::]*/: { n:\"SHEETINFOQP\", f:parse_SHEETINFOQP },\n\t\t/*::[*/0x0640/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0642/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0701/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0702/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0703/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0704/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0780/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0800/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0801/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0804/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0A80/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x2AF6/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x3231/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6E49/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6F44/*::]*/: { n:\"??\" },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\treturn {\n\t\tsheet_to_wk1: sheet_to_wk1,\n\t\tbook_to_wk3: book_to_wk3,\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.18 family ST_FontFamily */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = /*#__PURE__*/(function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o/*:Cell*/ = ({t:'s', v:unescapexml(t[1])}/*:any*/);\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = /*#__PURE__*/(function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style/*:Array*/ = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms/*:[Array, string, Array]*/ = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data/*:string*/, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst/*:SST*/, opts)/*:string*/ {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS_main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s/*:XLString*/ = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* BrtBeginSst */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* BrtSSTItem */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* BrtEndSst */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst/*::, opts*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x009F /* BrtBeginSst */, write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, 0x00A0 /* BrtEndSst */);\n\treturn ba.end();\n}\nfunction _JS2ANSI(str/*:string*/)/*:Array*/ {\n\tif(typeof $cptable !== 'undefined') return $cptable.utils.encode(current_ansi, str);\n\tvar o/*:Array*/ = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length/*:?number*/) {\n\tvar o/*:any*/ = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\n\t/*:: if(length == null) return o; */\n\tif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps/*:Array<{t:number, v:string}>*/ = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob)/*:Array*/ {\n\tvar o/*:Array*/ = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length/*:number*/) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length/*:number*/) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob/*::, vers*/) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt(/*::blob, vers*/) { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob/*::, vers*/) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob/*::, length*/) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password/*:string*/) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = /*#__PURE__*/(function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password/*:string*/) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password/*:string*/) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/);\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length/*:number*/, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length/*:number*/, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }/*:any*/); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = /*#__PURE__*/(function() {\n\tfunction rtf_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\t/* TODO: this is a stub */\n\tfunction rtf_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\n\t\tvar rows = str.match(/\\\\trowd.*?\\\\row\\b/g);\n\t\tif(!rows.length) throw new Error(\"RTF missing table\");\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:rows.length - 1}}/*:any*/);\n\t\trows.forEach(function(rowtf, R) {\n\t\t\tif(Array.isArray(ws)) ws[R] = [];\n\t\t\tvar rtfre = /\\\\\\w+\\b/g;\n\t\t\tvar last_index = 0;\n\t\t\tvar res;\n\t\t\tvar C = -1;\n\t\t\twhile((res = rtfre.exec(rowtf))) {\n\t\t\t\tswitch(res[0]) {\n\t\t\t\t\tcase \"\\\\cell\":\n\t\t\t\t\t\tvar data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length);\n\t\t\t\t\t\tif(data[0] == \" \") data = data.slice(1);\n\t\t\t\t\t\t++C;\n\t\t\t\t\t\tif(data.length) {\n\t\t\t\t\t\t\t// TODO: value parsing, including codepage adjustments\n\t\t\t\t\t\t\tvar cell = {v: data, t:\"s\"};\n\t\t\t\t\t\t\tif(Array.isArray(ws)) ws[R][C] = cell;\n\t\t\t\t\t\t\telse ws[encode_cell({r:R, c:C})] = cell;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tlast_index = rtfre.lastIndex;\n\t\t\t}\n\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t});\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws/*:Worksheet*//*::, opts*/)/*:string*/ {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll/*:ColInfo*/) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = /*::(*/{}/*:: :any)*/;\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(table_fmt)/*:any*/);\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = table_fmt[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF_load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF/*:{[n:number|string]:string}*//*::, opts*/) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(styles.NumberFmt && xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= /*#__PURE__*/(function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nfunction write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('styleSheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:vt': XMLNS.vt\n\t})], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length/*:number*/) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i/*:number*/, f/*:string*/, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length/*:number*/, opts) {\n\tvar out = ({}/*:any*/);\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font/*:any*/, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames/*:EvertNumType*/;\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tif(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/);\n\tvar fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length/*:number*/) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]/*:any*/);\n\tfor(var y in table_fmt) styles.NumberFmt[y] = table_fmt[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* BrtFmt */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF_load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* BrtFont */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* BrtKnownFonts */ break;\n\t\t\tcase 0x002D: /* BrtFill */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* BrtBorder */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* BrtXF */\n\t\t\t\tif(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* BrtStyle */\n\t\t\tcase 0x01FB: /* BrtDXF */\n\t\t\tcase 0x023C: /* BrtMRUColor */\n\t\t\tcase 0x01DB: /* BrtIndexedColor */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* BrtDXF14 */\n\t\t\tcase 0x0836: /* BrtDXF15 */\n\t\t\tcase 0x046A: /* BrtSlicerStyleElement */\n\t\t\tcase 0x0200: /* BrtTableStyleElement */\n\t\t\tcase 0x082F: /* BrtTimelineStyleElement */\n\t\t\tcase 0x0C00: /* BrtUid */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* BrtACBegin */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* BrtACEnd */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF/*:?SSFTable*/) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0267 /* BrtBeginFmts */, write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, 0x002C /* BrtFmt */, write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, 0x0268 /* BrtEndFmts */);\n}\n\nfunction write_FONTS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0263 /* BrtBeginFonts */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002B /* BrtFont */, write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, 0x0264 /* BrtEndFonts */);\n}\n\nfunction write_FILLS_bin(ba/*::, data*/) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x025B /* BrtBeginFills */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, 0x025C /* BrtEndFills */);\n}\n\nfunction write_BORDERS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0265 /* BrtBeginBorders */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002E /* BrtBorder */, write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, 0x0266 /* BrtEndBorders */);\n}\n\nfunction write_CELLSTYLEXFS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\twrite_record(ba, 0x0272 /* BrtBeginCellStyleXFs */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002F /* BrtXF */, write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x0273 /* BrtEndCellStyleXFs */);\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, 0x002F /* BrtXF */, write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x026A /* BrtEndCellXFs */);\n}\n\nfunction write_STYLES_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\twrite_record(ba, 0x026B /* BrtBeginStyles */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x0030 /* BrtStyle */, write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, 0x026C /* BrtEndStyles */);\n}\n\nfunction write_DXFS_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01F9 /* BrtBeginDXFs */, write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, 0x01FA /* BrtEndDXFs */);\n}\n\nfunction write_TABLESTYLES_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01FC /* BrtBeginTableStyles */, write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, 0x01FD /* BrtEndTableStyles */);\n}\n\nfunction write_COLORPALETTE_bin(/*::ba, data*/) {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0116 /* BrtBeginStyleSheet */);\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, 0x0117 /* BrtEndStyleSheet */);\n\treturn ba.end();\n}\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme(/*::t, themes, opts*/) { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme(/*::t, themes, opts*/) { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data/*:string*/, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) data = write_theme();\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts)/*:string*/ {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = zip_read(data, {type: \"array\"}); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob/*::, length*/) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob/*::, length*/) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob/*::, length*/)/*:Array*/ {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext/*:AOA*/ = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\nfunction parse_BrtMdtinfo(data, length) {\n return {\n flags: data.read_shift(4),\n version: data.read_shift(4),\n name: parse_XLWideString(data, length - 8)\n };\n}\nfunction write_BrtMdtinfo(data) {\n var o = new_buf(12 + 2 * data.name.length);\n o.write_shift(4, data.flags);\n o.write_shift(4, data.version);\n write_XLWideString(data.name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtMdb(data) {\n var out = [];\n var cnt = data.read_shift(4);\n while (cnt-- > 0)\n out.push([data.read_shift(4), data.read_shift(4)]);\n return out;\n}\nfunction write_BrtMdb(mdb) {\n var o = new_buf(4 + 8 * mdb.length);\n o.write_shift(4, mdb.length);\n for (var i = 0; i < mdb.length; ++i) {\n o.write_shift(4, mdb[i][0]);\n o.write_shift(4, mdb[i][1]);\n }\n return o;\n}\nfunction write_BrtBeginEsfmd(cnt, name) {\n var o = new_buf(8 + 2 * name.length);\n o.write_shift(4, cnt);\n write_XLWideString(name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtBeginEsmdb(data) {\n data.l += 4;\n return data.read_shift(4) != 0;\n}\nfunction write_BrtBeginEsmdb(cnt, cm) {\n var o = new_buf(8);\n o.write_shift(4, cnt);\n o.write_shift(4, cm ? 1 : 0);\n return o;\n}\nfunction parse_xlmeta_bin(data, name, _opts) {\n var out = { Types: [], Cell: [], Value: [] };\n var opts = _opts || {};\n var state = [];\n var pass = false;\n var metatype = 2;\n recordhopper(data, function(val, R, RT) {\n switch (RT) {\n case 335:\n out.Types.push({ name: val.name });\n break;\n case 51:\n val.forEach(function(r) {\n if (metatype == 1)\n out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n else if (metatype == 0)\n out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n });\n break;\n case 337:\n metatype = val ? 1 : 0;\n break;\n case 338:\n metatype = 2;\n break;\n case 35:\n state.push(RT);\n pass = true;\n break;\n case 36:\n state.pop();\n pass = false;\n break;\n default:\n if (R.T) {\n } else if (!pass || opts.WTF && state[state.length - 1] != 35)\n throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n }\n });\n return out;\n}\nfunction write_xlmeta_bin() {\n var ba = buf_array();\n write_record(ba, 332);\n write_record(ba, 334, write_UInt32LE(1));\n write_record(ba, 335, write_BrtMdtinfo({\n name: \"XLDAPR\",\n version: 12e4,\n flags: 3496657072\n }));\n write_record(ba, 336);\n write_record(ba, 339, write_BrtBeginEsfmd(1, \"XLDAPR\"));\n write_record(ba, 52);\n write_record(ba, 35, write_UInt32LE(514));\n write_record(ba, 4096, write_UInt32LE(0));\n write_record(ba, 4097, writeuint16(1));\n write_record(ba, 36);\n write_record(ba, 53);\n write_record(ba, 340);\n write_record(ba, 337, write_BrtBeginEsmdb(1, true));\n write_record(ba, 51, write_BrtMdb([[1, 0]]));\n write_record(ba, 338);\n write_record(ba, 333);\n return ba.end();\n}\nfunction parse_xlmeta_xml(data, name, opts) {\n var out = { Types: [], Cell: [], Value: [] };\n if (!data)\n return out;\n var pass = false;\n var metatype = 2;\n var lastmeta;\n data.replace(tagregex, function(x) {\n var y = parsexmltag(x);\n switch (strip_ns(y[0])) {\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n case \"\":\n case \"\":\n break;\n case \"\":\n pass = false;\n break;\n case \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n');\n return o.join(\"\");\n}\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data/*::, name, opts*/)/*:Array*/ {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ']*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId/*:number*/, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = /*::(*/{'color2':\"#BEFF82\", 'type':\"gradient\"}/*:: :any)*/;\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"}/*:any*/);\n\t++_shapeid;\n\n\to = o.concat([\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\nfunction sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell/*:Cell*/;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"}/*:any*/);\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded});\n\t\tif(comment.h) o.h = comment.h;\n\n\t\t/* threaded comments always override */\n\t\tfor(var i = cell.c.length - 1; i >= 0; --i) {\n\t\t\tif(!threaded && cell.c[i].T) return;\n\t\t\tif(threaded && !cell.c[i].T) cell.c.splice(i, 1);\n\t\t}\n\t\tif(threaded && people) for(i = 0; i < people.length; ++i) {\n\t\t\tif(o.a == people[i].id) { o.a = people[i].name || o.a; break; }\n\t\t}\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data/*:string*/, opts)/*:Array*/ {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors/*:Array*/ = [];\n\tvar commentList/*:Array*/ = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment/*:RawComment*/ = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid }/*:any*/);\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = (rt.t||\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nfunction write_comments_xml(data/*::, opts*/) {\n\tvar o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })];\n\n\tvar iauthor/*:Array*/ = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) == -1) {\n\t\t\tiauthor.push(a);\n\t\t\to.push(\"\" + a + \"\");\n\t\t}\n\t\tif(w.T && w.ID && iauthor.indexOf(\"tc=\" + w.ID) == -1) {\n\t\t\tiauthor.push(\"tc=\" + w.ID);\n\t\t\to.push(\"\" + \"tc=\" + w.ID + \"\");\n\t\t}\n\t}); });\n\tif(iauthor.length == 0) { iauthor.push(\"SheetJ5\"); o.push(\"SheetJ5\"); }\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\t/* 18.7.3 CT_Comment */\n\t\tvar lastauthor = 0, ts = [];\n\t\tif(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf(\"tc=\" + d[1][0].ID);\n\t\telse d[1].forEach(function(c) {\n\t\t\tif(c.a) lastauthor = iauthor.indexOf(escapexml(c.a));\n\t\t\tts.push(c.t||\"\");\n\t\t});\n\t\to.push('');\n\t\tif(ts.length <= 1) o.push(writetag(\"t\", escapexml(ts[0]||\"\")));\n\t\telse {\n\t\t\t/* based on Threaded Comments -> Comments projection */\n\t\t\tvar t = \"Comment:\\n \" + (ts[0]) + \"\\n\";\n\t\t\tfor(var i = 1; i < ts.length; ++i) t += \"Reply:\\n \" + ts[i] + \"\\n\";\n\t\t\to.push(writetag(\"t\", escapexml(t)));\n\t\t}\n\t\to.push('');\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.17 */\nfunction parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ {\n\tvar out = [];\n\tvar pass = false, comment = {}, tidx = 0;\n\tdata.replace(tagregex, function xml_tcmnt(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.205 threadedComment CT_ThreadedComment */\n\t\t\tcase '': if(comment.t != null) out.push(comment); break;\n\n\t\t\tcase '': case '': comment.t = data.slice(tidx, idx).replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\"); break;\n\n\t\t\t/* 2.6.206 mentions CT_ThreadedCommentMentions TODO */\n\t\t\tcase '': pass = true; break;\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 2.6.202 mention CT_Mention TODO */\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '
': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\n\nfunction write_tcmnt_xml(comments, people, opts) {\n\tvar o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\\/]>/, \">\")];\n\tcomments.forEach(function(carr) {\n\t\tvar rootid = \"\";\n\t\t(carr[1] || []).forEach(function(c, idx) {\n\t\t\tif(!c.T) { delete c.ID; return; }\n\t\t\tif(c.a && people.indexOf(c.a) == -1) people.push(c.a);\n\t\t\tvar tcopts = {\n\t\t\t\tref: carr[0],\n\t\t\t\tid: \"{54EE7951-7262-4200-6969-\" + (\"000000000000\" + opts.tcid++).slice(-12) + \"}\"\n\t\t\t};\n\t\t\tif(idx == 0) rootid = tcopts.id;\n\t\t\telse tcopts.parentId = rootid;\n\t\t\tc.ID = tcopts.id;\n\t\t\tif(c.a) tcopts.personId = \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + people.indexOf(c.a)).slice(-12) + \"}\";\n\t\t\to.push(writextag('threadedComment', writetag('text', c.t||\"\"), tcopts));\n\t\t});\n\t});\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.18 */\nfunction parse_people_xml(data/*:string*/, opts) {\n\tvar out = [];\n\tvar pass = false;\n\tdata.replace(tagregex, function xml_tcmnt(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.203 person CT_Person TODO: providers */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\nfunction write_people_xml(people/*, opts*/) {\n\tvar o = [XML_HEADER, writextag('personList', null, {\n\t\t'xmlns': XMLNS.TCMNT,\n\t\t'xmlns:x': XMLNS_main[0]\n\t}).replace(/[\\/]>/, \">\")];\n\tpeople.forEach(function(person, idx) {\n\t\to.push(writextag('person', null, {\n\t\t\tdisplayName: person,\n\t\t\tid: \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + idx).slice(-12) + \"}\",\n\t\t\tuserId: person,\n\t\t\tproviderId: \"None\"\n\t\t}));\n\t});\n\to.push(\"\");\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]/*:any*/), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts)/*:Array*/ {\n\tvar out/*:Array*/ = [];\n\tvar authors/*:Array*/ = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c/*:any*/).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data/*::, opts*/) {\n\tvar ba = buf_array();\n\tvar iauthor/*:Array*/ = [];\n\twrite_record(ba, 0x0274 /* BrtBeginComments */);\n\n\twrite_record(ba, 0x0276 /* BrtBeginCommentAuthors */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, 0x0277 /* BrtEndCommentAuthors */);\n\n\twrite_record(ba, 0x0279 /* BrtBeginCommentList */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c));\n\t\t\twrite_record(ba, 0x027C /* BrtEndComment */);\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, 0x027A /* BrtEndCommentList */);\n\n\twrite_record(ba, 0x0275 /* BrtEndComments */);\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n var newcfb = CFB.utils.cfb_new({ root: \"R\" });\n cfb.FullPaths.forEach(function(p, i) {\n if (p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/))\n return;\n var newpath = p.replace(/^[^\\/]*/, \"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n CFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n });\n return CFB.write(newcfb);\n}\nfunction fill_vba_xls(cfb, vba) {\n vba.FullPaths.forEach(function(p, i) {\n if (i == 0)\n return;\n var newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n if (newpath.slice(-1) !== \"/\")\n CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n });\n}\nvar VBAFMTS = [\"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\"];\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ms_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\nfunction parse_ms_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = /*#__PURE__*/(function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase/*:Cell*/ = ({r:0,c:0}/*:any*/);\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr/*:string*/, base/*:Cell*/)/*:string*/ {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc = /*#__PURE__*/(function(){\n\treturn function a1_to_rc(fstr/*:string*/, base/*:CellAddress*/) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f/*:string*/)/*:boolean*/ {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f/*:string*/)/*:string*/ {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob/*::, length, opts*/) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob/*::, length, opts*/) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob/*::, length, opts*/) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts)/*:Array*/ {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o/*:Array*/ = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob/*::, length*/) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff/*:number*/) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o/*:Array>*/ = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob/*::, length, opts*/) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob/*::, length, opts*/) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n\t/*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp },\n\t/*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl },\n\t/*::[*/0x03/*::]*/: { n:'PtgAdd', f:parseread1 },\n\t/*::[*/0x04/*::]*/: { n:'PtgSub', f:parseread1 },\n\t/*::[*/0x05/*::]*/: { n:'PtgMul', f:parseread1 },\n\t/*::[*/0x06/*::]*/: { n:'PtgDiv', f:parseread1 },\n\t/*::[*/0x07/*::]*/: { n:'PtgPower', f:parseread1 },\n\t/*::[*/0x08/*::]*/: { n:'PtgConcat', f:parseread1 },\n\t/*::[*/0x09/*::]*/: { n:'PtgLt', f:parseread1 },\n\t/*::[*/0x0A/*::]*/: { n:'PtgLe', f:parseread1 },\n\t/*::[*/0x0B/*::]*/: { n:'PtgEq', f:parseread1 },\n\t/*::[*/0x0C/*::]*/: { n:'PtgGe', f:parseread1 },\n\t/*::[*/0x0D/*::]*/: { n:'PtgGt', f:parseread1 },\n\t/*::[*/0x0E/*::]*/: { n:'PtgNe', f:parseread1 },\n\t/*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parseread1 },\n\t/*::[*/0x10/*::]*/: { n:'PtgUnion', f:parseread1 },\n\t/*::[*/0x11/*::]*/: { n:'PtgRange', f:parseread1 },\n\t/*::[*/0x12/*::]*/: { n:'PtgUplus', f:parseread1 },\n\t/*::[*/0x13/*::]*/: { n:'PtgUminus', f:parseread1 },\n\t/*::[*/0x14/*::]*/: { n:'PtgPercent', f:parseread1 },\n\t/*::[*/0x15/*::]*/: { n:'PtgParen', f:parseread1 },\n\t/*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parseread1 },\n\t/*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr },\n\t/*::[*/0x1A/*::]*/: { n:'PtgSheet', f:parse_PtgSheet },\n\t/*::[*/0x1B/*::]*/: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n\t/*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr },\n\t/*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool },\n\t/*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt },\n\t/*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum },\n\t/*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray },\n\t/*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc },\n\t/*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n\t/*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName },\n\t/*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef },\n\t/*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea },\n\t/*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea },\n\t/*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr },\n\t/*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n\t/*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n\t/*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr },\n\t/*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n\t/*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN },\n\t/*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN },\n\t/*::[*/0x2E/*::]*/: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n\t/*::[*/0x2F/*::]*/: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n\t/*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX },\n\t/*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d },\n\t/*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d },\n\t/*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n\t/*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n\t/*::[*/0xFF/*::]*/: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n\t/*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20,\n\t/*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21,\n\t/*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22,\n\t/*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23,\n\t/*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24,\n\t/*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25,\n\t/*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26,\n\t/*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27,\n\t/*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28,\n\t/*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29,\n\t/*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A,\n\t/*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B,\n\t/*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C,\n\t/*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D,\n\t/*::[*/0x4E/*::]*/: 0x2E, /*::[*/0x6E/*::]*/: 0x2E,\n\t/*::[*/0x4F/*::]*/: 0x2F, /*::[*/0x6F/*::]*/: 0x2F,\n\t/*::[*/0x58/*::]*/: 0x22, /*::[*/0x78/*::]*/: 0x22,\n\t/*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39,\n\t/*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A,\n\t/*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B,\n\t/*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C,\n\t/*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D\n};\n\nvar Ptg18 = {\n\t/*::[*/0x01/*::]*/: { n:'PtgElfLel', f:parse_PtgElfLel },\n\t/*::[*/0x02/*::]*/: { n:'PtgElfRw', f:parse_PtgElfRw },\n\t/*::[*/0x03/*::]*/: { n:'PtgElfCol', f:parse_PtgElfCol },\n\t/*::[*/0x06/*::]*/: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n\t/*::[*/0x07/*::]*/: { n:'PtgElfColV', f:parse_PtgElfColV },\n\t/*::[*/0x0A/*::]*/: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n\t/*::[*/0x0B/*::]*/: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n\t/*::[*/0x0D/*::]*/: { n:'PtgElfColS', f:parse_PtgElfColS },\n\t/*::[*/0x0F/*::]*/: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n\t/*::[*/0x10/*::]*/: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n\t/*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList },\n\t/*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName },\n\t/*::[*/0xFF/*::]*/: {}\n};\nvar Ptg19 = {\n\t/*::[*/0x00/*::]*/: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n\t/*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n\t/*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n\t/*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n\t/*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n\t/*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n\t/*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x21/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n\t/*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n\t/*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n\t/*::[*/0xFF/*::]*/: {}\n};\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id] || PtgTypes[PtgDupes[id]];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f/*:Array>*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r/*:Array*/ = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\n\t\t\t\t\t/*:: if(typeof y[1] != 'string') throw \"unreachable\"; */\n\t\t\t\t\tr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// List of invalid characters needs to be tested further\nfunction formula_quote_sheet_name(sname/*:string*/, opts)/*:string*/ {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/.test(sname)) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tvar ixtiraw = get_ixti_raw(supbooks, ixti, opts);\n\treturn ixtiraw == \"#REF\" ? ixtiraw : formula_quote_sheet_name(ixtiraw, opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, opts)/*:string*/ {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack/*:Array*/ = [], e1, e2, /*::type,*/ c/*:CellAddress*/, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\n\t\t\t\t/*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\n\t\t\t\t/*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]/*:any*/);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\t/* [MS-XLSB] 2.5.97.10 Ftab -- last verified 20220204 */\n\t\t\t\tif(name && name.slice(0,6) == \"_xlfn.\" && !opts.xlfn) name = name.slice(6);\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = (get_ixti_raw(supbooks, bookidx, opts)||\"\").split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r}/*:any*/);\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t} else {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(/*::String(*/f[1]/*::)*/);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(/*::(*/f[1]/*:: :any)*/) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts/*::, ref*/) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob/*::, length*/) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, os/*:number*/) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\nvar Cetab = {\n 0: \"BEEP\",\n 1: \"OPEN\",\n 2: \"OPEN.LINKS\",\n 3: \"CLOSE.ALL\",\n 4: \"SAVE\",\n 5: \"SAVE.AS\",\n 6: \"FILE.DELETE\",\n 7: \"PAGE.SETUP\",\n 8: \"PRINT\",\n 9: \"PRINTER.SETUP\",\n 10: \"QUIT\",\n 11: \"NEW.WINDOW\",\n 12: \"ARRANGE.ALL\",\n 13: \"WINDOW.SIZE\",\n 14: \"WINDOW.MOVE\",\n 15: \"FULL\",\n 16: \"CLOSE\",\n 17: \"RUN\",\n 22: \"SET.PRINT.AREA\",\n 23: \"SET.PRINT.TITLES\",\n 24: \"SET.PAGE.BREAK\",\n 25: \"REMOVE.PAGE.BREAK\",\n 26: \"FONT\",\n 27: \"DISPLAY\",\n 28: \"PROTECT.DOCUMENT\",\n 29: \"PRECISION\",\n 30: \"A1.R1C1\",\n 31: \"CALCULATE.NOW\",\n 32: \"CALCULATION\",\n 34: \"DATA.FIND\",\n 35: \"EXTRACT\",\n 36: \"DATA.DELETE\",\n 37: \"SET.DATABASE\",\n 38: \"SET.CRITERIA\",\n 39: \"SORT\",\n 40: \"DATA.SERIES\",\n 41: \"TABLE\",\n 42: \"FORMAT.NUMBER\",\n 43: \"ALIGNMENT\",\n 44: \"STYLE\",\n 45: \"BORDER\",\n 46: \"CELL.PROTECTION\",\n 47: \"COLUMN.WIDTH\",\n 48: \"UNDO\",\n 49: \"CUT\",\n 50: \"COPY\",\n 51: \"PASTE\",\n 52: \"CLEAR\",\n 53: \"PASTE.SPECIAL\",\n 54: \"EDIT.DELETE\",\n 55: \"INSERT\",\n 56: \"FILL.RIGHT\",\n 57: \"FILL.DOWN\",\n 61: \"DEFINE.NAME\",\n 62: \"CREATE.NAMES\",\n 63: \"FORMULA.GOTO\",\n 64: \"FORMULA.FIND\",\n 65: \"SELECT.LAST.CELL\",\n 66: \"SHOW.ACTIVE.CELL\",\n 67: \"GALLERY.AREA\",\n 68: \"GALLERY.BAR\",\n 69: \"GALLERY.COLUMN\",\n 70: \"GALLERY.LINE\",\n 71: \"GALLERY.PIE\",\n 72: \"GALLERY.SCATTER\",\n 73: \"COMBINATION\",\n 74: \"PREFERRED\",\n 75: \"ADD.OVERLAY\",\n 76: \"GRIDLINES\",\n 77: \"SET.PREFERRED\",\n 78: \"AXES\",\n 79: \"LEGEND\",\n 80: \"ATTACH.TEXT\",\n 81: \"ADD.ARROW\",\n 82: \"SELECT.CHART\",\n 83: \"SELECT.PLOT.AREA\",\n 84: \"PATTERNS\",\n 85: \"MAIN.CHART\",\n 86: \"OVERLAY\",\n 87: \"SCALE\",\n 88: \"FORMAT.LEGEND\",\n 89: \"FORMAT.TEXT\",\n 90: \"EDIT.REPEAT\",\n 91: \"PARSE\",\n 92: \"JUSTIFY\",\n 93: \"HIDE\",\n 94: \"UNHIDE\",\n 95: \"WORKSPACE\",\n 96: \"FORMULA\",\n 97: \"FORMULA.FILL\",\n 98: \"FORMULA.ARRAY\",\n 99: \"DATA.FIND.NEXT\",\n 100: \"DATA.FIND.PREV\",\n 101: \"FORMULA.FIND.NEXT\",\n 102: \"FORMULA.FIND.PREV\",\n 103: \"ACTIVATE\",\n 104: \"ACTIVATE.NEXT\",\n 105: \"ACTIVATE.PREV\",\n 106: \"UNLOCKED.NEXT\",\n 107: \"UNLOCKED.PREV\",\n 108: \"COPY.PICTURE\",\n 109: \"SELECT\",\n 110: \"DELETE.NAME\",\n 111: \"DELETE.FORMAT\",\n 112: \"VLINE\",\n 113: \"HLINE\",\n 114: \"VPAGE\",\n 115: \"HPAGE\",\n 116: \"VSCROLL\",\n 117: \"HSCROLL\",\n 118: \"ALERT\",\n 119: \"NEW\",\n 120: \"CANCEL.COPY\",\n 121: \"SHOW.CLIPBOARD\",\n 122: \"MESSAGE\",\n 124: \"PASTE.LINK\",\n 125: \"APP.ACTIVATE\",\n 126: \"DELETE.ARROW\",\n 127: \"ROW.HEIGHT\",\n 128: \"FORMAT.MOVE\",\n 129: \"FORMAT.SIZE\",\n 130: \"FORMULA.REPLACE\",\n 131: \"SEND.KEYS\",\n 132: \"SELECT.SPECIAL\",\n 133: \"APPLY.NAMES\",\n 134: \"REPLACE.FONT\",\n 135: \"FREEZE.PANES\",\n 136: \"SHOW.INFO\",\n 137: \"SPLIT\",\n 138: \"ON.WINDOW\",\n 139: \"ON.DATA\",\n 140: \"DISABLE.INPUT\",\n 142: \"OUTLINE\",\n 143: \"LIST.NAMES\",\n 144: \"FILE.CLOSE\",\n 145: \"SAVE.WORKBOOK\",\n 146: \"DATA.FORM\",\n 147: \"COPY.CHART\",\n 148: \"ON.TIME\",\n 149: \"WAIT\",\n 150: \"FORMAT.FONT\",\n 151: \"FILL.UP\",\n 152: \"FILL.LEFT\",\n 153: \"DELETE.OVERLAY\",\n 155: \"SHORT.MENUS\",\n 159: \"SET.UPDATE.STATUS\",\n 161: \"COLOR.PALETTE\",\n 162: \"DELETE.STYLE\",\n 163: \"WINDOW.RESTORE\",\n 164: \"WINDOW.MAXIMIZE\",\n 166: \"CHANGE.LINK\",\n 167: \"CALCULATE.DOCUMENT\",\n 168: \"ON.KEY\",\n 169: \"APP.RESTORE\",\n 170: \"APP.MOVE\",\n 171: \"APP.SIZE\",\n 172: \"APP.MINIMIZE\",\n 173: \"APP.MAXIMIZE\",\n 174: \"BRING.TO.FRONT\",\n 175: \"SEND.TO.BACK\",\n 185: \"MAIN.CHART.TYPE\",\n 186: \"OVERLAY.CHART.TYPE\",\n 187: \"SELECT.END\",\n 188: \"OPEN.MAIL\",\n 189: \"SEND.MAIL\",\n 190: \"STANDARD.FONT\",\n 191: \"CONSOLIDATE\",\n 192: \"SORT.SPECIAL\",\n 193: \"GALLERY.3D.AREA\",\n 194: \"GALLERY.3D.COLUMN\",\n 195: \"GALLERY.3D.LINE\",\n 196: \"GALLERY.3D.PIE\",\n 197: \"VIEW.3D\",\n 198: \"GOAL.SEEK\",\n 199: \"WORKGROUP\",\n 200: \"FILL.GROUP\",\n 201: \"UPDATE.LINK\",\n 202: \"PROMOTE\",\n 203: \"DEMOTE\",\n 204: \"SHOW.DETAIL\",\n 206: \"UNGROUP\",\n 207: \"OBJECT.PROPERTIES\",\n 208: \"SAVE.NEW.OBJECT\",\n 209: \"SHARE\",\n 210: \"SHARE.NAME\",\n 211: \"DUPLICATE\",\n 212: \"APPLY.STYLE\",\n 213: \"ASSIGN.TO.OBJECT\",\n 214: \"OBJECT.PROTECTION\",\n 215: \"HIDE.OBJECT\",\n 216: \"SET.EXTRACT\",\n 217: \"CREATE.PUBLISHER\",\n 218: \"SUBSCRIBE.TO\",\n 219: \"ATTRIBUTES\",\n 220: \"SHOW.TOOLBAR\",\n 222: \"PRINT.PREVIEW\",\n 223: \"EDIT.COLOR\",\n 224: \"SHOW.LEVELS\",\n 225: \"FORMAT.MAIN\",\n 226: \"FORMAT.OVERLAY\",\n 227: \"ON.RECALC\",\n 228: \"EDIT.SERIES\",\n 229: \"DEFINE.STYLE\",\n 240: \"LINE.PRINT\",\n 243: \"ENTER.DATA\",\n 249: \"GALLERY.RADAR\",\n 250: \"MERGE.STYLES\",\n 251: \"EDITION.OPTIONS\",\n 252: \"PASTE.PICTURE\",\n 253: \"PASTE.PICTURE.LINK\",\n 254: \"SPELLING\",\n 256: \"ZOOM\",\n 259: \"INSERT.OBJECT\",\n 260: \"WINDOW.MINIMIZE\",\n 265: \"SOUND.NOTE\",\n 266: \"SOUND.PLAY\",\n 267: \"FORMAT.SHAPE\",\n 268: \"EXTEND.POLYGON\",\n 269: \"FORMAT.AUTO\",\n 272: \"GALLERY.3D.BAR\",\n 273: \"GALLERY.3D.SURFACE\",\n 274: \"FILL.AUTO\",\n 276: \"CUSTOMIZE.TOOLBAR\",\n 277: \"ADD.TOOL\",\n 278: \"EDIT.OBJECT\",\n 279: \"ON.DOUBLECLICK\",\n 280: \"ON.ENTRY\",\n 281: \"WORKBOOK.ADD\",\n 282: \"WORKBOOK.MOVE\",\n 283: \"WORKBOOK.COPY\",\n 284: \"WORKBOOK.OPTIONS\",\n 285: \"SAVE.WORKSPACE\",\n 288: \"CHART.WIZARD\",\n 289: \"DELETE.TOOL\",\n 290: \"MOVE.TOOL\",\n 291: \"WORKBOOK.SELECT\",\n 292: \"WORKBOOK.ACTIVATE\",\n 293: \"ASSIGN.TO.TOOL\",\n 295: \"COPY.TOOL\",\n 296: \"RESET.TOOL\",\n 297: \"CONSTRAIN.NUMERIC\",\n 298: \"PASTE.TOOL\",\n 302: \"WORKBOOK.NEW\",\n 305: \"SCENARIO.CELLS\",\n 306: \"SCENARIO.DELETE\",\n 307: \"SCENARIO.ADD\",\n 308: \"SCENARIO.EDIT\",\n 309: \"SCENARIO.SHOW\",\n 310: \"SCENARIO.SHOW.NEXT\",\n 311: \"SCENARIO.SUMMARY\",\n 312: \"PIVOT.TABLE.WIZARD\",\n 313: \"PIVOT.FIELD.PROPERTIES\",\n 314: \"PIVOT.FIELD\",\n 315: \"PIVOT.ITEM\",\n 316: \"PIVOT.ADD.FIELDS\",\n 318: \"OPTIONS.CALCULATION\",\n 319: \"OPTIONS.EDIT\",\n 320: \"OPTIONS.VIEW\",\n 321: \"ADDIN.MANAGER\",\n 322: \"MENU.EDITOR\",\n 323: \"ATTACH.TOOLBARS\",\n 324: \"VBAActivate\",\n 325: \"OPTIONS.CHART\",\n 328: \"VBA.INSERT.FILE\",\n 330: \"VBA.PROCEDURE.DEFINITION\",\n 336: \"ROUTING.SLIP\",\n 338: \"ROUTE.DOCUMENT\",\n 339: \"MAIL.LOGON\",\n 342: \"INSERT.PICTURE\",\n 343: \"EDIT.TOOL\",\n 344: \"GALLERY.DOUGHNUT\",\n 350: \"CHART.TREND\",\n 352: \"PIVOT.ITEM.PROPERTIES\",\n 354: \"WORKBOOK.INSERT\",\n 355: \"OPTIONS.TRANSITION\",\n 356: \"OPTIONS.GENERAL\",\n 370: \"FILTER.ADVANCED\",\n 373: \"MAIL.ADD.MAILER\",\n 374: \"MAIL.DELETE.MAILER\",\n 375: \"MAIL.REPLY\",\n 376: \"MAIL.REPLY.ALL\",\n 377: \"MAIL.FORWARD\",\n 378: \"MAIL.NEXT.LETTER\",\n 379: \"DATA.LABEL\",\n 380: \"INSERT.TITLE\",\n 381: \"FONT.PROPERTIES\",\n 382: \"MACRO.OPTIONS\",\n 383: \"WORKBOOK.HIDE\",\n 384: \"WORKBOOK.UNHIDE\",\n 385: \"WORKBOOK.DELETE\",\n 386: \"WORKBOOK.NAME\",\n 388: \"GALLERY.CUSTOM\",\n 390: \"ADD.CHART.AUTOFORMAT\",\n 391: \"DELETE.CHART.AUTOFORMAT\",\n 392: \"CHART.ADD.DATA\",\n 393: \"AUTO.OUTLINE\",\n 394: \"TAB.ORDER\",\n 395: \"SHOW.DIALOG\",\n 396: \"SELECT.ALL\",\n 397: \"UNGROUP.SHEETS\",\n 398: \"SUBTOTAL.CREATE\",\n 399: \"SUBTOTAL.REMOVE\",\n 400: \"RENAME.OBJECT\",\n 412: \"WORKBOOK.SCROLL\",\n 413: \"WORKBOOK.NEXT\",\n 414: \"WORKBOOK.PREV\",\n 415: \"WORKBOOK.TAB.SPLIT\",\n 416: \"FULL.SCREEN\",\n 417: \"WORKBOOK.PROTECT\",\n 420: \"SCROLLBAR.PROPERTIES\",\n 421: \"PIVOT.SHOW.PAGES\",\n 422: \"TEXT.TO.COLUMNS\",\n 423: \"FORMAT.CHARTTYPE\",\n 424: \"LINK.FORMAT\",\n 425: \"TRACER.DISPLAY\",\n 430: \"TRACER.NAVIGATE\",\n 431: \"TRACER.CLEAR\",\n 432: \"TRACER.ERROR\",\n 433: \"PIVOT.FIELD.GROUP\",\n 434: \"PIVOT.FIELD.UNGROUP\",\n 435: \"CHECKBOX.PROPERTIES\",\n 436: \"LABEL.PROPERTIES\",\n 437: \"LISTBOX.PROPERTIES\",\n 438: \"EDITBOX.PROPERTIES\",\n 439: \"PIVOT.REFRESH\",\n 440: \"LINK.COMBO\",\n 441: \"OPEN.TEXT\",\n 442: \"HIDE.DIALOG\",\n 443: \"SET.DIALOG.FOCUS\",\n 444: \"ENABLE.OBJECT\",\n 445: \"PUSHBUTTON.PROPERTIES\",\n 446: \"SET.DIALOG.DEFAULT\",\n 447: \"FILTER\",\n 448: \"FILTER.SHOW.ALL\",\n 449: \"CLEAR.OUTLINE\",\n 450: \"FUNCTION.WIZARD\",\n 451: \"ADD.LIST.ITEM\",\n 452: \"SET.LIST.ITEM\",\n 453: \"REMOVE.LIST.ITEM\",\n 454: \"SELECT.LIST.ITEM\",\n 455: \"SET.CONTROL.VALUE\",\n 456: \"SAVE.COPY.AS\",\n 458: \"OPTIONS.LISTS.ADD\",\n 459: \"OPTIONS.LISTS.DELETE\",\n 460: \"SERIES.AXES\",\n 461: \"SERIES.X\",\n 462: \"SERIES.Y\",\n 463: \"ERRORBAR.X\",\n 464: \"ERRORBAR.Y\",\n 465: \"FORMAT.CHART\",\n 466: \"SERIES.ORDER\",\n 467: \"MAIL.LOGOFF\",\n 468: \"CLEAR.ROUTING.SLIP\",\n 469: \"APP.ACTIVATE.MICROSOFT\",\n 470: \"MAIL.EDIT.MAILER\",\n 471: \"ON.SHEET\",\n 472: \"STANDARD.WIDTH\",\n 473: \"SCENARIO.MERGE\",\n 474: \"SUMMARY.INFO\",\n 475: \"FIND.FILE\",\n 476: \"ACTIVE.CELL.FONT\",\n 477: \"ENABLE.TIPWIZARD\",\n 478: \"VBA.MAKE.ADDIN\",\n 480: \"INSERTDATATABLE\",\n 481: \"WORKGROUP.OPTIONS\",\n 482: \"MAIL.SEND.MAILER\",\n 485: \"AUTOCORRECT\",\n 489: \"POST.DOCUMENT\",\n 491: \"PICKLIST\",\n 493: \"VIEW.SHOW\",\n 494: \"VIEW.DEFINE\",\n 495: \"VIEW.DELETE\",\n 509: \"SHEET.BACKGROUND\",\n 510: \"INSERT.MAP.OBJECT\",\n 511: \"OPTIONS.MENONO\",\n 517: \"MSOCHECKS\",\n 518: \"NORMAL\",\n 519: \"LAYOUT\",\n 520: \"RM.PRINT.AREA\",\n 521: \"CLEAR.PRINT.AREA\",\n 522: \"ADD.PRINT.AREA\",\n 523: \"MOVE.BRK\",\n 545: \"HIDECURR.NOTE\",\n 546: \"HIDEALL.NOTES\",\n 547: \"DELETE.NOTE\",\n 548: \"TRAVERSE.NOTES\",\n 549: \"ACTIVATE.NOTES\",\n 620: \"PROTECT.REVISIONS\",\n 621: \"UNPROTECT.REVISIONS\",\n 647: \"OPTIONS.ME\",\n 653: \"WEB.PUBLISH\",\n 667: \"NEWWEBQUERY\",\n 673: \"PIVOT.TABLE.CHART\",\n 753: \"OPTIONS.SAVE\",\n 755: \"OPTIONS.SPELL\",\n 808: \"HIDEALL.INKANNOTS\"\n};\nvar Ftab = {\n 0: \"COUNT\",\n 1: \"IF\",\n 2: \"ISNA\",\n 3: \"ISERROR\",\n 4: \"SUM\",\n 5: \"AVERAGE\",\n 6: \"MIN\",\n 7: \"MAX\",\n 8: \"ROW\",\n 9: \"COLUMN\",\n 10: \"NA\",\n 11: \"NPV\",\n 12: \"STDEV\",\n 13: \"DOLLAR\",\n 14: \"FIXED\",\n 15: \"SIN\",\n 16: \"COS\",\n 17: \"TAN\",\n 18: \"ATAN\",\n 19: \"PI\",\n 20: \"SQRT\",\n 21: \"EXP\",\n 22: \"LN\",\n 23: \"LOG10\",\n 24: \"ABS\",\n 25: \"INT\",\n 26: \"SIGN\",\n 27: \"ROUND\",\n 28: \"LOOKUP\",\n 29: \"INDEX\",\n 30: \"REPT\",\n 31: \"MID\",\n 32: \"LEN\",\n 33: \"VALUE\",\n 34: \"TRUE\",\n 35: \"FALSE\",\n 36: \"AND\",\n 37: \"OR\",\n 38: \"NOT\",\n 39: \"MOD\",\n 40: \"DCOUNT\",\n 41: \"DSUM\",\n 42: \"DAVERAGE\",\n 43: \"DMIN\",\n 44: \"DMAX\",\n 45: \"DSTDEV\",\n 46: \"VAR\",\n 47: \"DVAR\",\n 48: \"TEXT\",\n 49: \"LINEST\",\n 50: \"TREND\",\n 51: \"LOGEST\",\n 52: \"GROWTH\",\n 53: \"GOTO\",\n 54: \"HALT\",\n 55: \"RETURN\",\n 56: \"PV\",\n 57: \"FV\",\n 58: \"NPER\",\n 59: \"PMT\",\n 60: \"RATE\",\n 61: \"MIRR\",\n 62: \"IRR\",\n 63: \"RAND\",\n 64: \"MATCH\",\n 65: \"DATE\",\n 66: \"TIME\",\n 67: \"DAY\",\n 68: \"MONTH\",\n 69: \"YEAR\",\n 70: \"WEEKDAY\",\n 71: \"HOUR\",\n 72: \"MINUTE\",\n 73: \"SECOND\",\n 74: \"NOW\",\n 75: \"AREAS\",\n 76: \"ROWS\",\n 77: \"COLUMNS\",\n 78: \"OFFSET\",\n 79: \"ABSREF\",\n 80: \"RELREF\",\n 81: \"ARGUMENT\",\n 82: \"SEARCH\",\n 83: \"TRANSPOSE\",\n 84: \"ERROR\",\n 85: \"STEP\",\n 86: \"TYPE\",\n 87: \"ECHO\",\n 88: \"SET.NAME\",\n 89: \"CALLER\",\n 90: \"DEREF\",\n 91: \"WINDOWS\",\n 92: \"SERIES\",\n 93: \"DOCUMENTS\",\n 94: \"ACTIVE.CELL\",\n 95: \"SELECTION\",\n 96: \"RESULT\",\n 97: \"ATAN2\",\n 98: \"ASIN\",\n 99: \"ACOS\",\n 100: \"CHOOSE\",\n 101: \"HLOOKUP\",\n 102: \"VLOOKUP\",\n 103: \"LINKS\",\n 104: \"INPUT\",\n 105: \"ISREF\",\n 106: \"GET.FORMULA\",\n 107: \"GET.NAME\",\n 108: \"SET.VALUE\",\n 109: \"LOG\",\n 110: \"EXEC\",\n 111: \"CHAR\",\n 112: \"LOWER\",\n 113: \"UPPER\",\n 114: \"PROPER\",\n 115: \"LEFT\",\n 116: \"RIGHT\",\n 117: \"EXACT\",\n 118: \"TRIM\",\n 119: \"REPLACE\",\n 120: \"SUBSTITUTE\",\n 121: \"CODE\",\n 122: \"NAMES\",\n 123: \"DIRECTORY\",\n 124: \"FIND\",\n 125: \"CELL\",\n 126: \"ISERR\",\n 127: \"ISTEXT\",\n 128: \"ISNUMBER\",\n 129: \"ISBLANK\",\n 130: \"T\",\n 131: \"N\",\n 132: \"FOPEN\",\n 133: \"FCLOSE\",\n 134: \"FSIZE\",\n 135: \"FREADLN\",\n 136: \"FREAD\",\n 137: \"FWRITELN\",\n 138: \"FWRITE\",\n 139: \"FPOS\",\n 140: \"DATEVALUE\",\n 141: \"TIMEVALUE\",\n 142: \"SLN\",\n 143: \"SYD\",\n 144: \"DDB\",\n 145: \"GET.DEF\",\n 146: \"REFTEXT\",\n 147: \"TEXTREF\",\n 148: \"INDIRECT\",\n 149: \"REGISTER\",\n 150: \"CALL\",\n 151: \"ADD.BAR\",\n 152: \"ADD.MENU\",\n 153: \"ADD.COMMAND\",\n 154: \"ENABLE.COMMAND\",\n 155: \"CHECK.COMMAND\",\n 156: \"RENAME.COMMAND\",\n 157: \"SHOW.BAR\",\n 158: \"DELETE.MENU\",\n 159: \"DELETE.COMMAND\",\n 160: \"GET.CHART.ITEM\",\n 161: \"DIALOG.BOX\",\n 162: \"CLEAN\",\n 163: \"MDETERM\",\n 164: \"MINVERSE\",\n 165: \"MMULT\",\n 166: \"FILES\",\n 167: \"IPMT\",\n 168: \"PPMT\",\n 169: \"COUNTA\",\n 170: \"CANCEL.KEY\",\n 171: \"FOR\",\n 172: \"WHILE\",\n 173: \"BREAK\",\n 174: \"NEXT\",\n 175: \"INITIATE\",\n 176: \"REQUEST\",\n 177: \"POKE\",\n 178: \"EXECUTE\",\n 179: \"TERMINATE\",\n 180: \"RESTART\",\n 181: \"HELP\",\n 182: \"GET.BAR\",\n 183: \"PRODUCT\",\n 184: \"FACT\",\n 185: \"GET.CELL\",\n 186: \"GET.WORKSPACE\",\n 187: \"GET.WINDOW\",\n 188: \"GET.DOCUMENT\",\n 189: \"DPRODUCT\",\n 190: \"ISNONTEXT\",\n 191: \"GET.NOTE\",\n 192: \"NOTE\",\n 193: \"STDEVP\",\n 194: \"VARP\",\n 195: \"DSTDEVP\",\n 196: \"DVARP\",\n 197: \"TRUNC\",\n 198: \"ISLOGICAL\",\n 199: \"DCOUNTA\",\n 200: \"DELETE.BAR\",\n 201: \"UNREGISTER\",\n 204: \"USDOLLAR\",\n 205: \"FINDB\",\n 206: \"SEARCHB\",\n 207: \"REPLACEB\",\n 208: \"LEFTB\",\n 209: \"RIGHTB\",\n 210: \"MIDB\",\n 211: \"LENB\",\n 212: \"ROUNDUP\",\n 213: \"ROUNDDOWN\",\n 214: \"ASC\",\n 215: \"DBCS\",\n 216: \"RANK\",\n 219: \"ADDRESS\",\n 220: \"DAYS360\",\n 221: \"TODAY\",\n 222: \"VDB\",\n 223: \"ELSE\",\n 224: \"ELSE.IF\",\n 225: \"END.IF\",\n 226: \"FOR.CELL\",\n 227: \"MEDIAN\",\n 228: \"SUMPRODUCT\",\n 229: \"SINH\",\n 230: \"COSH\",\n 231: \"TANH\",\n 232: \"ASINH\",\n 233: \"ACOSH\",\n 234: \"ATANH\",\n 235: \"DGET\",\n 236: \"CREATE.OBJECT\",\n 237: \"VOLATILE\",\n 238: \"LAST.ERROR\",\n 239: \"CUSTOM.UNDO\",\n 240: \"CUSTOM.REPEAT\",\n 241: \"FORMULA.CONVERT\",\n 242: \"GET.LINK.INFO\",\n 243: \"TEXT.BOX\",\n 244: \"INFO\",\n 245: \"GROUP\",\n 246: \"GET.OBJECT\",\n 247: \"DB\",\n 248: \"PAUSE\",\n 251: \"RESUME\",\n 252: \"FREQUENCY\",\n 253: \"ADD.TOOLBAR\",\n 254: \"DELETE.TOOLBAR\",\n 255: \"User\",\n 256: \"RESET.TOOLBAR\",\n 257: \"EVALUATE\",\n 258: \"GET.TOOLBAR\",\n 259: \"GET.TOOL\",\n 260: \"SPELLING.CHECK\",\n 261: \"ERROR.TYPE\",\n 262: \"APP.TITLE\",\n 263: \"WINDOW.TITLE\",\n 264: \"SAVE.TOOLBAR\",\n 265: \"ENABLE.TOOL\",\n 266: \"PRESS.TOOL\",\n 267: \"REGISTER.ID\",\n 268: \"GET.WORKBOOK\",\n 269: \"AVEDEV\",\n 270: \"BETADIST\",\n 271: \"GAMMALN\",\n 272: \"BETAINV\",\n 273: \"BINOMDIST\",\n 274: \"CHIDIST\",\n 275: \"CHIINV\",\n 276: \"COMBIN\",\n 277: \"CONFIDENCE\",\n 278: \"CRITBINOM\",\n 279: \"EVEN\",\n 280: \"EXPONDIST\",\n 281: \"FDIST\",\n 282: \"FINV\",\n 283: \"FISHER\",\n 284: \"FISHERINV\",\n 285: \"FLOOR\",\n 286: \"GAMMADIST\",\n 287: \"GAMMAINV\",\n 288: \"CEILING\",\n 289: \"HYPGEOMDIST\",\n 290: \"LOGNORMDIST\",\n 291: \"LOGINV\",\n 292: \"NEGBINOMDIST\",\n 293: \"NORMDIST\",\n 294: \"NORMSDIST\",\n 295: \"NORMINV\",\n 296: \"NORMSINV\",\n 297: \"STANDARDIZE\",\n 298: \"ODD\",\n 299: \"PERMUT\",\n 300: \"POISSON\",\n 301: \"TDIST\",\n 302: \"WEIBULL\",\n 303: \"SUMXMY2\",\n 304: \"SUMX2MY2\",\n 305: \"SUMX2PY2\",\n 306: \"CHITEST\",\n 307: \"CORREL\",\n 308: \"COVAR\",\n 309: \"FORECAST\",\n 310: \"FTEST\",\n 311: \"INTERCEPT\",\n 312: \"PEARSON\",\n 313: \"RSQ\",\n 314: \"STEYX\",\n 315: \"SLOPE\",\n 316: \"TTEST\",\n 317: \"PROB\",\n 318: \"DEVSQ\",\n 319: \"GEOMEAN\",\n 320: \"HARMEAN\",\n 321: \"SUMSQ\",\n 322: \"KURT\",\n 323: \"SKEW\",\n 324: \"ZTEST\",\n 325: \"LARGE\",\n 326: \"SMALL\",\n 327: \"QUARTILE\",\n 328: \"PERCENTILE\",\n 329: \"PERCENTRANK\",\n 330: \"MODE\",\n 331: \"TRIMMEAN\",\n 332: \"TINV\",\n 334: \"MOVIE.COMMAND\",\n 335: \"GET.MOVIE\",\n 336: \"CONCATENATE\",\n 337: \"POWER\",\n 338: \"PIVOT.ADD.DATA\",\n 339: \"GET.PIVOT.TABLE\",\n 340: \"GET.PIVOT.FIELD\",\n 341: \"GET.PIVOT.ITEM\",\n 342: \"RADIANS\",\n 343: \"DEGREES\",\n 344: \"SUBTOTAL\",\n 345: \"SUMIF\",\n 346: \"COUNTIF\",\n 347: \"COUNTBLANK\",\n 348: \"SCENARIO.GET\",\n 349: \"OPTIONS.LISTS.GET\",\n 350: \"ISPMT\",\n 351: \"DATEDIF\",\n 352: \"DATESTRING\",\n 353: \"NUMBERSTRING\",\n 354: \"ROMAN\",\n 355: \"OPEN.DIALOG\",\n 356: \"SAVE.DIALOG\",\n 357: \"VIEW.GET\",\n 358: \"GETPIVOTDATA\",\n 359: \"HYPERLINK\",\n 360: \"PHONETIC\",\n 361: \"AVERAGEA\",\n 362: \"MAXA\",\n 363: \"MINA\",\n 364: \"STDEVPA\",\n 365: \"VARPA\",\n 366: \"STDEVA\",\n 367: \"VARA\",\n 368: \"BAHTTEXT\",\n 369: \"THAIDAYOFWEEK\",\n 370: \"THAIDIGIT\",\n 371: \"THAIMONTHOFYEAR\",\n 372: \"THAINUMSOUND\",\n 373: \"THAINUMSTRING\",\n 374: \"THAISTRINGLENGTH\",\n 375: \"ISTHAIDIGIT\",\n 376: \"ROUNDBAHTDOWN\",\n 377: \"ROUNDBAHTUP\",\n 378: \"THAIYEAR\",\n 379: \"RTD\",\n 380: \"CUBEVALUE\",\n 381: \"CUBEMEMBER\",\n 382: \"CUBEMEMBERPROPERTY\",\n 383: \"CUBERANKEDMEMBER\",\n 384: \"HEX2BIN\",\n 385: \"HEX2DEC\",\n 386: \"HEX2OCT\",\n 387: \"DEC2BIN\",\n 388: \"DEC2HEX\",\n 389: \"DEC2OCT\",\n 390: \"OCT2BIN\",\n 391: \"OCT2HEX\",\n 392: \"OCT2DEC\",\n 393: \"BIN2DEC\",\n 394: \"BIN2OCT\",\n 395: \"BIN2HEX\",\n 396: \"IMSUB\",\n 397: \"IMDIV\",\n 398: \"IMPOWER\",\n 399: \"IMABS\",\n 400: \"IMSQRT\",\n 401: \"IMLN\",\n 402: \"IMLOG2\",\n 403: \"IMLOG10\",\n 404: \"IMSIN\",\n 405: \"IMCOS\",\n 406: \"IMEXP\",\n 407: \"IMARGUMENT\",\n 408: \"IMCONJUGATE\",\n 409: \"IMAGINARY\",\n 410: \"IMREAL\",\n 411: \"COMPLEX\",\n 412: \"IMSUM\",\n 413: \"IMPRODUCT\",\n 414: \"SERIESSUM\",\n 415: \"FACTDOUBLE\",\n 416: \"SQRTPI\",\n 417: \"QUOTIENT\",\n 418: \"DELTA\",\n 419: \"GESTEP\",\n 420: \"ISEVEN\",\n 421: \"ISODD\",\n 422: \"MROUND\",\n 423: \"ERF\",\n 424: \"ERFC\",\n 425: \"BESSELJ\",\n 426: \"BESSELK\",\n 427: \"BESSELY\",\n 428: \"BESSELI\",\n 429: \"XIRR\",\n 430: \"XNPV\",\n 431: \"PRICEMAT\",\n 432: \"YIELDMAT\",\n 433: \"INTRATE\",\n 434: \"RECEIVED\",\n 435: \"DISC\",\n 436: \"PRICEDISC\",\n 437: \"YIELDDISC\",\n 438: \"TBILLEQ\",\n 439: \"TBILLPRICE\",\n 440: \"TBILLYIELD\",\n 441: \"PRICE\",\n 442: \"YIELD\",\n 443: \"DOLLARDE\",\n 444: \"DOLLARFR\",\n 445: \"NOMINAL\",\n 446: \"EFFECT\",\n 447: \"CUMPRINC\",\n 448: \"CUMIPMT\",\n 449: \"EDATE\",\n 450: \"EOMONTH\",\n 451: \"YEARFRAC\",\n 452: \"COUPDAYBS\",\n 453: \"COUPDAYS\",\n 454: \"COUPDAYSNC\",\n 455: \"COUPNCD\",\n 456: \"COUPNUM\",\n 457: \"COUPPCD\",\n 458: \"DURATION\",\n 459: \"MDURATION\",\n 460: \"ODDLPRICE\",\n 461: \"ODDLYIELD\",\n 462: \"ODDFPRICE\",\n 463: \"ODDFYIELD\",\n 464: \"RANDBETWEEN\",\n 465: \"WEEKNUM\",\n 466: \"AMORDEGRC\",\n 467: \"AMORLINC\",\n 468: \"CONVERT\",\n 724: \"SHEETJS\",\n 469: \"ACCRINT\",\n 470: \"ACCRINTM\",\n 471: \"WORKDAY\",\n 472: \"NETWORKDAYS\",\n 473: \"GCD\",\n 474: \"MULTINOMIAL\",\n 475: \"LCM\",\n 476: \"FVSCHEDULE\",\n 477: \"CUBEKPIMEMBER\",\n 478: \"CUBESET\",\n 479: \"CUBESETCOUNT\",\n 480: \"IFERROR\",\n 481: \"COUNTIFS\",\n 482: \"SUMIFS\",\n 483: \"AVERAGEIF\",\n 484: \"AVERAGEIFS\"\n};\nvar FtabArgc = {\n 2: 1,\n 3: 1,\n 10: 0,\n 15: 1,\n 16: 1,\n 17: 1,\n 18: 1,\n 19: 0,\n 20: 1,\n 21: 1,\n 22: 1,\n 23: 1,\n 24: 1,\n 25: 1,\n 26: 1,\n 27: 2,\n 30: 2,\n 31: 3,\n 32: 1,\n 33: 1,\n 34: 0,\n 35: 0,\n 38: 1,\n 39: 2,\n 40: 3,\n 41: 3,\n 42: 3,\n 43: 3,\n 44: 3,\n 45: 3,\n 47: 3,\n 48: 2,\n 53: 1,\n 61: 3,\n 63: 0,\n 65: 3,\n 66: 3,\n 67: 1,\n 68: 1,\n 69: 1,\n 70: 1,\n 71: 1,\n 72: 1,\n 73: 1,\n 74: 0,\n 75: 1,\n 76: 1,\n 77: 1,\n 79: 2,\n 80: 2,\n 83: 1,\n 85: 0,\n 86: 1,\n 89: 0,\n 90: 1,\n 94: 0,\n 95: 0,\n 97: 2,\n 98: 1,\n 99: 1,\n 101: 3,\n 102: 3,\n 105: 1,\n 106: 1,\n 108: 2,\n 111: 1,\n 112: 1,\n 113: 1,\n 114: 1,\n 117: 2,\n 118: 1,\n 119: 4,\n 121: 1,\n 126: 1,\n 127: 1,\n 128: 1,\n 129: 1,\n 130: 1,\n 131: 1,\n 133: 1,\n 134: 1,\n 135: 1,\n 136: 2,\n 137: 2,\n 138: 2,\n 140: 1,\n 141: 1,\n 142: 3,\n 143: 4,\n 144: 4,\n 161: 1,\n 162: 1,\n 163: 1,\n 164: 1,\n 165: 2,\n 172: 1,\n 175: 2,\n 176: 2,\n 177: 3,\n 178: 2,\n 179: 1,\n 184: 1,\n 186: 1,\n 189: 3,\n 190: 1,\n 195: 3,\n 196: 3,\n 197: 1,\n 198: 1,\n 199: 3,\n 201: 1,\n 207: 4,\n 210: 3,\n 211: 1,\n 212: 2,\n 213: 2,\n 214: 1,\n 215: 1,\n 225: 0,\n 229: 1,\n 230: 1,\n 231: 1,\n 232: 1,\n 233: 1,\n 234: 1,\n 235: 3,\n 244: 1,\n 247: 4,\n 252: 2,\n 257: 1,\n 261: 1,\n 271: 1,\n 273: 4,\n 274: 2,\n 275: 2,\n 276: 2,\n 277: 3,\n 278: 3,\n 279: 1,\n 280: 3,\n 281: 3,\n 282: 3,\n 283: 1,\n 284: 1,\n 285: 2,\n 286: 4,\n 287: 3,\n 288: 2,\n 289: 4,\n 290: 3,\n 291: 3,\n 292: 3,\n 293: 4,\n 294: 1,\n 295: 3,\n 296: 1,\n 297: 3,\n 298: 1,\n 299: 2,\n 300: 3,\n 301: 3,\n 302: 4,\n 303: 2,\n 304: 2,\n 305: 2,\n 306: 2,\n 307: 2,\n 308: 2,\n 309: 3,\n 310: 2,\n 311: 2,\n 312: 2,\n 313: 2,\n 314: 2,\n 315: 2,\n 316: 4,\n 325: 2,\n 326: 2,\n 327: 2,\n 328: 2,\n 331: 2,\n 332: 2,\n 337: 2,\n 342: 1,\n 343: 1,\n 346: 2,\n 347: 1,\n 350: 4,\n 351: 3,\n 352: 1,\n 353: 2,\n 360: 1,\n 368: 1,\n 369: 1,\n 370: 1,\n 371: 1,\n 372: 1,\n 373: 1,\n 374: 1,\n 375: 1,\n 376: 1,\n 377: 1,\n 378: 1,\n 382: 3,\n 385: 1,\n 392: 1,\n 393: 1,\n 396: 2,\n 397: 2,\n 398: 2,\n 399: 1,\n 400: 1,\n 401: 1,\n 402: 1,\n 403: 1,\n 404: 1,\n 405: 1,\n 406: 1,\n 407: 1,\n 408: 1,\n 409: 1,\n 410: 1,\n 414: 4,\n 415: 1,\n 416: 1,\n 417: 2,\n 420: 1,\n 421: 1,\n 422: 2,\n 424: 1,\n 425: 2,\n 426: 2,\n 427: 2,\n 428: 2,\n 430: 3,\n 438: 3,\n 439: 3,\n 440: 3,\n 443: 2,\n 444: 2,\n 445: 2,\n 446: 2,\n 447: 6,\n 448: 6,\n 449: 2,\n 450: 2,\n 464: 2,\n 468: 3,\n 476: 2,\n 479: 1,\n 480: 2,\n 65535: 0\n};\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f/*:string*/)/*:string*/ {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f/*:string*/)/*:string*/ {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r/*:string*/)/*:string*/ {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst/*:SST*/, str/*:string*/, rev)/*:number*/ {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}/*:any*/); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C/*:number*/, col) {\n\tvar p = ({min:C+1,max:C+1}/*:any*/);\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\tif(col.level != null) { p.outlineLevel = p.level = col.level; }\n\treturn p;\n}\n\nfunction default_margins(margins/*:Margins*/, mode/*:?string*/) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF_load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z' && !opts.cellStyles) return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif((!opts || opts.cellText !== false) && p.t !== 'z') try {\n\t\tif(table_fmt[fmtid] == null) SSF_load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = dd.toString(10);\n\t\t\t\telse p.w = SSF_general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF_general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF_format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws/*:Worksheet*/, sname/*:string*/, i/*:number*/) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws/*:Worksheet*/, s/*:string*/) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar sheetprregex2= /<(?:\\w:)?sheetPr[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetPr)>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tvar refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/);\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch/*:?any*/ = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\telse if((sheetPr = data1.match(sheetprregex2))) parse_ws_xml_sheetpr2(sheetPr[0], sheetPr[1]||\"\", s, wb, idx, styles, themes);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns/*:Array*/ = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges/*:Array*/ = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges/*:Array*/)/*:string*/ {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName));\n}\nfunction parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tparse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(\">\")), s, wb, idx);\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = utf8write(escapexml(cname));\n\t}\n\n\tif(ws && ws[\"!outline\"]) {\n\t\tvar outlineprops = {summaryBelow:1, summaryRight:1};\n\t\tif(ws[\"!outline\"].above) outlineprops.summaryBelow = 0;\n\t\tif(ws[\"!outline\"].left) outlineprops.summaryRight = 0;\n\t\tpayload = (payload||\"\") + writextag('outlinePr', null, outlineprops);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp)/*:string*/ {\n\t// algorithmName, hashValue, saltValue, spinCount\n\tvar o = ({sheet:1}/*:any*/);\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data/*:Array*/, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+unescapexml(val.location);\n\t\t} else {\n\t\t\tval.Target = \"#\" + unescapexml(val.location);\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin)/*:string*/ {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tif(coll.outlineLevel) coll.level = (+coll.outlineLevel || 0);\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols)/*:string*/ {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data/*:string*/) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx)/*:string*/ {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb/*:WBWBProps*/) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r/*:string*/, i/*:number*/) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(+tag.zoomScale) wb.Views[i].zoom = +tag.zoomScale;\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ {\n\tvar sview = ({workbookViewId:\"0\"}/*:any*/);\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ {\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\tif(cell.v === undefined && typeof cell.f !== \"string\" || cell.t === 'z' && !cell.f) return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = table_fmt[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/);\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(cell.v.length > 32767) throw new Error(\"Text length must not exceed 32767 characters\");\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.D) o.cm = 1;\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = /*#__PURE__*/(function() {\n\tvar cellregex = /<(?:\\w+:)?c[ \\/>]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) {\n\tvar ri = 0, x = \"\", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d=\"\", p/*:any*/;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows/*:Array*/ = [], rowobj = {}, rowrite = false;\n\tvar sheetStubs = !!opts.sheetStubs;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tvar rstarti = 0;\n\t\touta: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) {\n\t\t\tcase \">\" /*62*/:\n\t\t\t\tif(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != \"/\") { ++ri; break outa; }\n\t\t\t\tif(opts && opts.cellStyles) {\n\t\t\t\t\t// TODO: avoid duplication\n\t\t\t\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\t\t\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\t\t\t\trowobj = {}; rowrite = false;\n\t\t\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"<\" /*60*/: rstarti = ri; break;\n\t\t}\n\t\tif(rstarti >= ri) break;\n\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"}/*:any*/);\n\n\t\t\tif((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=unescapexml(utf8read(cref[1])).replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\tif(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(tag.cm && opts.xlmeta) {\n\t\t\t\tvar cm = (opts.xlmeta.Cell||[])[+tag.cm-1];\n\t\t\t\tif(cm && cm.type == 'XLDAPR') p.D = true;\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*//*::, rels*/)/*:string*/ {\n\tvar o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr}/*:any*/);\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1}/*:any*/);\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nfunction write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('worksheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(/*::(*/ws['!links']/*::||[])*/.length > 0) {\n\t\to[o.length] = \"\";\n\t\t/*::(*/ws['!links']/*::||[])*/.forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]}/*:any*/);\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({}/*:any*/);\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R/*:number*/, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo(/*::data, length*/) {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\tvar f = data[data.l]; ++data.l;\n\tz.above = !(f & 0x40);\n\tz.left = !(f & 0x80);\n\t/* TODO: pull flags */\n\tdata.l += 18;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, outl, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tvar f = 0xC0;\n\tif(outl) {\n\t\tif(outl.above) f &= ~0x40;\n\t\tif(outl.left) f &= ~0x80;\n\t}\n\to.write_shift(1, f);\n\tfor(var i = 1; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\nfunction parse_BrtShortBlank(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\treturn [cell];\n}\nfunction write_BrtShortBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(4);\n\treturn write_XLSBShortCell(ncell, o);\n}\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\nfunction parse_BrtShortBool(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtShortBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(5);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtCellError(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v);\n\treturn o;\n}\nfunction parse_BrtShortError(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtShortError(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v);\n\to.write_shift(2, 0);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\nfunction parse_BrtShortIsst(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtShortIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortReal(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortRk(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtCellRString */\nfunction parse_BrtCellRString(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RichStr(data);\n\treturn [cell, value, 'is'];\n}\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction parse_BrtShortSt(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtShortSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(8 + 4 * cell.v.length);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length/*::, opts*/) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display}/*:any*/);\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C/*:number*/, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ {\n\tvar margins = ({}/*:any*/);\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins/*:Margins*/, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins/*:any*/)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data/*::, length, opts*/) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\n\t\t/*:: if(o == null) throw \"unreachable\"; */\n\t\tif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s/*:Worksheet*/ = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state/*:Array*/ = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell/*:Cell*/;\n\tvar merges/*:Array*/ = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || /*::(*/wb/*:: :any)*/.supbooks || ([[]]/*:any*/);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtShortReal\", f:parse_BrtShortReal };\n\n\tvar cm, vm;\n\n\trecordhopper(data, function ws_parse(val, RR, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\tcase 0x000D: /* 'BrtShortRk' */\n\t\t\tcase 0x000E: /* 'BrtShortError' */\n\t\t\tcase 0x000F: /* 'BrtShortBool' */\n\t\t\tcase 0x0010: /* 'BrtShortReal' */\n\t\t\tcase 0x0011: /* 'BrtShortSt' */\n\t\t\tcase 0x0012: /* 'BrtShortIsst' */\n\t\t\tcase 0x003E: /* 'BrtCellRString' */\n\t\t\t\tp = ({t:val[2]}/*:any*/);\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t\tcase 'is': p.t = 's'; p.v = val[1].t; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\tcase 0x000C: /* 'BrtShortBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:void 0}/*:any*/);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x0031: { /* 'BrtCellMeta' */\n\t\t\t\tcm = ((opts.xlmeta||{}).Cell||[])[val-1];\n\t\t\t} break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr])/*:any*/);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tif(val.above || val.left) s['!outline'] = { above: val.above, left: val.left };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(RR.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ {\n\tif(cell.v === undefined) return false;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || table_fmt[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o/*:any*/ = ({r:R, c:C}/*:any*/);\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v/*:any*/), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\tif(last_seen) write_record(ba, 0x0012 /* BrtShortIsst */, write_BrtShortIsst(cell, o));\n\t\t\t\telse write_record(ba, 0x0007 /* BrtCellIsst */, write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\tif(last_seen) write_record(ba, 0x0011 /* BrtShortSt */, write_BrtShortSt(cell, o));\n\t\t\t\telse write_record(ba, 0x0006 /* BrtCellSt */, write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn true;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) {\n\t\t\t\tif(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o));\n\t\t\t\telse write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o));\n\t\t\t} else {\n\t\t\t\tif(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o));\n\t\t\t\telse write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o));\n\t\t\t} return true;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\tif(last_seen) write_record(ba, 0x000F /* BrtShortBool */, write_BrtShortBool(cell, o));\n\t\t\telse write_record(ba, 0x0004 /* BrtCellBool */, write_BrtCellBool(cell, o));\n\t\t\treturn true;\n\t\tcase 'e':\n\t\t\to.t = \"e\";\n\t\t\tif(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError(cell, o));\n\t\t\telse write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError(cell, o));\n\t\t\treturn true;\n\t}\n\tif(last_seen) write_record(ba, 0x000C /* BrtShortBlank */, write_BrtShortBlank(cell, o));\n\telse write_record(ba, 0x0001 /* BrtCellBlank */, write_BrtCellBlank(cell, o));\n\treturn true;\n}\n\nfunction write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols/*:Array*/ = [];\n\twrite_record(ba, 0x0091 /* BrtBeginSheetData */);\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tvar last_seen = false;\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) { last_seen = false; continue; }\n\t\t\t/* write cell */\n\t\t\tlast_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen);\n\t\t}\n\t}\n\twrite_record(ba, 0x0092 /* BrtEndSheetData */);\n}\n\nfunction write_MERGECELLS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 0x00B0 /* BrtMergeCell */, write_BrtMergeCell(m)); });\n\twrite_record(ba, 0x00B2 /* BrtEndMergeCells */);\n}\n\nfunction write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook*/) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 0x0186 /* BrtBeginColInfos */);\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 0x003C /* 'BrtColInfo' */, write_BrtColInfo(i, m)); });\n\twrite_record(ba, 0x0187 /* BrtEndColInfos */);\n}\n\nfunction write_IGNOREECS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 0x0288 /* BrtBeginCellIgnoreECs */);\n\twrite_record(ba, 0x0289 /* BrtCellIgnoreEC */, write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 0x028A /* BrtEndCellIgnoreECs */);\n}\n\nfunction write_HLINKS(ba, ws/*:Worksheet*/, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, 0x01EE /* BrtHLink */, write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, 0x0227 /* BrtLegacyDrawing */, write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, 0x00A1 /* BrtBeginAFilter */, write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, 0x00A2 /* BrtEndAFilter */);\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, 0x0085 /* BrtBeginWsViews */);\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, 0x0089 /* BrtBeginWsView */, write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, 0x008A /* BrtEndWsView */);\n\t}\n\t/* *FRT */\n\twrite_record(ba, 0x0086 /* BrtEndWsViews */);\n}\n\nfunction write_WSFMTINFO(/*::ba, ws*/) {\n\t/* [ACWSFMTINFO] */\n\t// write_record(ba, 0x01E5 /* BrtWsFmtInfo */, write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, 0x0217 /* BrtSheetProtection */, write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c/*:string*/ = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\tif(wb.vbaraw || ws['!outline']) write_record(ba, 0x0093 /* BrtWsProp */, write_BrtWsProp(c, ws['!outline']));\n\twrite_record(ba, 0x0094 /* BrtWsDim */, write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, 0x01DC /* BrtMargins */, write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\nfunction parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ {\n\tvar col/*:Array*/ = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) {\n\tvar cs/*:Worksheet*/ = ((csheet || {\"!type\":\"chart\"})/*:any*/);\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"}/*:any*/);\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('chartsheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length/*:number*/) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin(/*::idx:number, opts, wb:Workbook, rels*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb/*:Workbook*/)/*:string*/ {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = /*#__PURE__*/\"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts)/*:WorkbookFile*/ {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = /*::(*/{ AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" }/*::)*/;\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr/*:any*/ = ({codeName:\"ThisWorkbook\"}/*:any*/);\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\n\t\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]/*:any*/);\n\t\t});\n\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\tif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '';\n\t\to[o.length] = \"\";\n\t}\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))}/*:any*/);\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d/*:any*/ = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length/*:number*/) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length)/*:WBProps*/ {\n\tvar o/*:WBProps*/ = ({}/*:any*/);\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data/*:?WBProps*/, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula}/*:any*/);\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts)/*:WorkbookFile*/ {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]/*:any*/);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ };\n\n\trecordhopper(data, function hopper_wb(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x008F: /* 'BrtBeginBundleShs' */\n\t\t\tcase 0x0298: /* 'BrtBeginFnGroup' */\n\t\t\tcase 0x0161: /* 'BrtBeginExternals' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.length-1] != 0x0023 /* BrtFRTBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb/*:any*/).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb/*::, opts*/) {\n\twrite_record(ba, 0x008F /* BrtBeginBundleShs */);\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, 0x009C /* BrtBundleSh */, write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, 0x0090 /* BrtEndBundleShs */);\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb/*::, opts*/) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, 0x0087 /* BrtBeginBookViews */);\n\twrite_record(ba, 0x009E /* BrtBookView */, write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, 0x0088 /* BrtEndBookViews */);\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0083 /* BrtBeginBook */);\n\twrite_record(ba, 0x0080 /* BrtFileVersion */, write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, 0x0099 /* BrtWbProp */, write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, 0x009D BrtCalcProp, write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, 0x009B BrtFileRecover, write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, 0x0084 /* BrtEndBook */);\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name/*:string*/, opts)/*:WorkbookFile*/ {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data/*:any*/), opts);\n\treturn parse_wb_xml((data/*:any*/), opts);\n}\n\nfunction parse_ws(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name/*:string*/, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data/*:any*/), themes, opts);\n\treturn parse_sty_xml((data/*:any*/), themes, opts);\n}\n\nfunction parse_theme(data/*:string*/, name/*:string*/, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name/*:string*/, opts)/*:SST*/ {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data/*:any*/), opts);\n\treturn parse_sst_xml((data/*:any*/), opts);\n}\n\nfunction parse_cmnt(data, name/*:string*/, opts)/*:Array*/ {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data/*:any*/), opts);\n\treturn parse_comments_xml((data/*:any*/), opts);\n}\n\nfunction parse_cc(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data/*:any*/), name, opts);\n\treturn parse_cc_xml((data/*:any*/), name, opts);\n}\n\nfunction parse_xlink(data, rel, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data/*:any*/), rel, name, opts);\n\treturn parse_xlink_xml((data/*:any*/), rel, name, opts);\n}\n\nfunction parse_xlmeta(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlmeta_bin((data/*:any*/), name, opts);\n\treturn parse_xlmeta_xml((data/*:any*/), name, opts);\n}\n\nfunction write_wb(wb, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data/*:SST*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data/*:Array*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\n\nfunction write_xlmeta(name/*:string*/) {\n\treturn (name.slice(-4)===\".bin\" ? write_xlmeta_bin : write_xlmeta_xml)();\n}\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag/*:string*/, skip_root/*:?boolean*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z/*:any*/ = ([]/*:any*/); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag/*:string*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*: {[string]:string}*/;\n\nfunction xlml_format(format, value)/*:string*/ {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF_general(value);\n\treturn SSF_format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val/*:string*/) {\n\tvar oval/*:any*/ = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell/*:Cell*/, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = cell.v.toString(10);\n\t\t\t\telse cell.w = SSF_general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF_general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && fmt_is_date(z)) {\n\t\t\tvar _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment/*:any*/) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\n/* TODO: Everything */\nfunction parse_xlml_xml(d, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tmake_ssf();\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof $cptable !== 'undefined') str = $cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\topening = opening.replace(/\".*?\"/g, \"\");\n\tif((opening.indexOf(\">\") & 1023) > Math.min((opening.indexOf(\",\") & 1023), (opening.indexOf(\";\")&1023))) { var _o = dup(opts); _o.type = \"string\"; return PRN.to_workbook(str, _o); }\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return html_to_workbook(str, opts);\n\n\tXLMLFormatMap = ({\n\t\t\"General Number\": \"General\",\n\t\t\"General Date\": table_fmt[22],\n\t\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\t\"Medium Date\": table_fmt[15],\n\t\t\"Short Date\": table_fmt[14],\n\t\t\"Long Time\": table_fmt[19],\n\t\t\"Medium Time\": table_fmt[18],\n\t\t\"Short Time\": table_fmt[20],\n\t\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\t\"Fixed\": table_fmt[2],\n\t\t\"Standard\": table_fmt[4],\n\t\t\"Percent\": table_fmt[10],\n\t\t\"Scientific\": table_fmt[11],\n\t\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n\t}/*:any*/);\n\n\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges/*:Array*/ = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar rowinfo/*:Array*/ = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false} }/*:any*/), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:unescapexml(cell.HRef)}/*:any*/);\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\t/*:: if(!cc) cc = 0; if(!rr) rr = 0; */\n\t\t\t\t\tfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == null) { SSF_load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName/*:DefinedName*/ = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t}/*:any*/);\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\n\t\t\t/*:: if(Workbook.Names) */Workbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author}/*:any*/);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tcase 'null' /*case 'Null'*/: break;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\n\t\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\t\tWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].header = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].footer = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Top)) cursheet['!margins'].top = +pagemargins.Top;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Left)) cursheet['!margins'].left = +pagemargins.Left;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Right)) cursheet['!margins'].right = +pagemargins.Right;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Bottom)) cursheet['!margins'].bottom = +pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'printerrors' /*case 'PrintErrors'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].above = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].left = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = dup(table_fmt);\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data/*:RawBytes|string*/, opts)/*:Workbook*/ {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64_decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n\t/*:: throw new Error(\"unsupported type \" + opts.type); */\n}\n\n/* TODO */\nfunction write_props_xlml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml(/*::wb, opts*/)/*:string*/ {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts)/*:string*/ {\n\t/* Styles */\n\tvar styles/*:Array*/ = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload/*:Array*/ = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(table_fmt[xf.numFmtId])}));\n\n\t\tvar o = /*::(*/{\"ss:ID\": \"s\" + (21+id)}/*:: :any)*/;\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb/*::, opts*/)/*:string*/ {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tvar o/*:Array*/ = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments/*:Array*/)/*:string*/ {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R/*:number*/, row)/*:string*/ {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws['!ref']) return \"\";\n\tvar range/*:Range*/ = safe_decode_range(ws['!ref']);\n\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\tvar o/*:Array*/ = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"
\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts)/*:string*/ {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d/*:Array*/ = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj/*:CFBEntry*/) {\n\tvar v = {};\n\tvar o = obj.content;\n\t/*:: if(o == null) return; */\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m/*:number*/ = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue 0x003c\n\t- 2.4.59 ContinueBigName 0x043c\n\t- 2.4.60 ContinueFrt 0x0812\n\t- 2.4.61 ContinueFrt11 0x0875\n\t- 2.4.62 ContinueFrt12 0x087f\n*/\nvar CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ];\nfunction slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {\n\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */:\n\t\tbreak;\n\tcase 0x0085 /* BoundSheet8 */:\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt];\n\tvar start = 0;\n\twhile(next != null && CONTINUE_RT.indexOf(nextrt) > -1) {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(nextrt == 0x0812 /* ContinueFrt */) start += 4;\n\t\telse if(nextrt == 0x0875 || nextrt == 0x087f) {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs)/*:any*/);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record 0x\" + RecordType.toString(16) + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF_general(p.v);\n\t\t}\n\t\telse p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t)/*:Cell*/ {\n\treturn ({v:val, ixfe:ixfe, t:t}/*:any*/);\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {\n\tvar wb = ({opts:{}}/*:any*/);\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out/*:Worksheet*/ = ((options.dense ? [] : {})/*:any*/);\n\tvar Directory = {};\n\tvar range/*:Range*/ = ({}/*:any*/);\n\tvar last_formula = null;\n\tvar sst/*:SST*/ = ([]/*:any*/);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc/*:Cell*/, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar temp_val/*:Cell*/;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette/*:Array<[number, number, number]>*/ = [];\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {};\n\tvar get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line/*:any*/, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({}/*:any*/);\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t}/*:any*/);\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges/*:Array*/ = [];\n\tvar objects = [];\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\tvar supbooks = ([]/*:any*/); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_RT = 0;\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl/*:?DefinedName*/;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_RT === 0x000a /* EOF */) break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;\n\t\t\t}\n\t\t\tlast_RT = RecordType;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val/*:any*/ = ({}/*:any*/);\n\t\t\tif(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;\n\t\t\telse val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;\n\t\t\t/*:: val = (val:any); */\n\t\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue;\n\t\t\tswitch(RecordType) {\n\t\t\t\tcase 0x0022 /* Date1904 */:\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\twb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 0x002f /* FilePass */:\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x005c /* WriteAccess */: opts.lastuser = val; break;\n\t\t\t\tcase 0x0042 /* CodePage */:\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x013d /* RRTabId */: opts.rrtabid = val; break;\n\t\t\t\tcase 0x0019 /* WinProtect */: opts.winlocked = val; break;\n\t\t\t\tcase 0x01b7 /* RefreshAll */: wb.opts[\"RefreshAll\"] = val; break;\n\t\t\t\tcase 0x000c /* CalcCount */: wb.opts[\"CalcCount\"] = val; break;\n\t\t\t\tcase 0x0010 /* CalcDelta */: wb.opts[\"CalcDelta\"] = val; break;\n\t\t\t\tcase 0x0011 /* CalcIter */: wb.opts[\"CalcIter\"] = val; break;\n\t\t\t\tcase 0x000d /* CalcMode */: wb.opts[\"CalcMode\"] = val; break;\n\t\t\t\tcase 0x000e /* CalcPrecision */: wb.opts[\"CalcPrecision\"] = val; break;\n\t\t\t\tcase 0x005f /* CalcSaveRecalc */: wb.opts[\"CalcSaveRecalc\"] = val; break;\n\t\t\t\tcase 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;\n\t\t\t\tcase 0x0081 /* WsBool */:\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 0x00e0 /* XF */:\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 0x01ae /* SupBook */:\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0023: case 0x0223 /* ExternName */:\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0018: case 0x0218 /* Lbl */:\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t}/*:DefinedName*/);\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0016 /* ExternCount */: opts.ExternCount = val; break;\n\t\t\t\tcase 0x0017 /* ExternSheet */:\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 0x0894 /* NameCmt */:\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0012 /* Protect */: out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 0x0085 /* BoundSheet8 */: {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 0x000a /* EOF */: {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n\t\t\t\t\t\t/*::[*/0x0009/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0209/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0409/*::]*/:4\n\t\t\t\t\t}[RecordType] || {\n\t\t\t\t\t\t/*::[*/0x0200/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0300/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0400/*::]*/:4,\n\t\t\t\t\t\t/*::[*/0x0500/*::]*/:5,\n\t\t\t\t\t\t/*::[*/0x0600/*::]*/:8,\n\t\t\t\t\t\t/*::[*/0x0002/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0007/*::]*/:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\n\t\t\t\t\tif(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\t\t\t\tcase 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0005: case 0x0205 /* BoolErr */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x027e /* RK */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00bd /* MulRk */: {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0006: case 0x0206: case 0x0406 /* Formula */: {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x0007: case 0x0207 /* String */: {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 0x0021: case 0x0221 /* Array */: {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x04bc /* ShrFmla */: {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fd /* LabelSst */:\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0201 /* Blank */: if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00be /* MulBlank */: if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00d6 /* RString */:\n\t\t\t\tcase 0x0204 /* Label */: case 0x0004 /* BIFF2STR */:\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 0x0000: case 0x0200 /* Dimensions */: {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fc /* SST */: {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x041e /* Format */: { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF_load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF_load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 0x001e /* BIFF2FORMAT */: {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF_load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x00e5 /* MergeCells */: merges = merges.concat(val); break;\n\n\t\t\t\tcase 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;\n\t\t\t\tcase 0x007f /* ImData */: opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 0x01b8 /* HLink */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0800 /* HLinkTooltip */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x001c /* Note */: {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\t\t\t\tcase 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;\n\t\t\t\tcase 0x007d /* ColInfo */: {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0208 /* Row */: {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0026 /* LeftMargin */:\n\t\t\t\tcase 0x0027 /* RightMargin */:\n\t\t\t\tcase 0x0028 /* TopMargin */:\n\t\t\t\tcase 0x0029 /* BottomMargin */:\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][({0x26: \"left\", 0x27:\"right\", 0x28:\"top\", 0x29:\"bottom\"})[RecordType]] = val;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x00a1 /* Setup */: // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x023e /* Window2 */: // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0092 /* Palette */: palette = val; break;\n\t\t\t\tcase 0x0896 /* Theme */: themes = val; break;\n\t\t\t\tcase 0x008c /* Country */: country = val; break;\n\t\t\t\tcase 0x01ba /* CodeName */: {\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\tif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t}\n\t\t} else {\n\t\t\tif(!R) console.error(\"Missing Info for XLS Record 0x\" + RecordType.toString(16));\n\t\t\tblob.l += length;\n\t\t}\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = dup(table_fmt);\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb/*:CFBContainer*/, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '/!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '/!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tvar DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, \"n\");\n\tvar SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, \"n\");\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj/*:?CFBEntry*/, WB/*:?any*/;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64_decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb}/*:any*/);\n}\nvar /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */;\n\nvar _data/*:?any*/;\nif(CompObj) /*::CompObjP = */parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/);\nelse/*:: if(cfb instanceof CFBContainer) */ {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t/*::[*/0x0000/*::]*/: { /* n:\"BrtRowHdr\", */ f:parse_BrtRowHdr },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BrtCellBlank\", */ f:parse_BrtCellBlank },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BrtCellRk\", */ f:parse_BrtCellRk },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BrtCellError\", */ f:parse_BrtCellError },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BrtCellBool\", */ f:parse_BrtCellBool },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BrtCellReal\", */ f:parse_BrtCellReal },\n\t/*::[*/0x0006/*::]*/: { /* n:\"BrtCellSt\", */ f:parse_BrtCellSt },\n\t/*::[*/0x0007/*::]*/: { /* n:\"BrtCellIsst\", */ f:parse_BrtCellIsst },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BrtFmlaString\", */ f:parse_BrtFmlaString },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BrtFmlaNum\", */ f:parse_BrtFmlaNum },\n\t/*::[*/0x000A/*::]*/: { /* n:\"BrtFmlaBool\", */ f:parse_BrtFmlaBool },\n\t/*::[*/0x000B/*::]*/: { /* n:\"BrtFmlaError\", */ f:parse_BrtFmlaError },\n\t/*::[*/0x000C/*::]*/: { /* n:\"BrtShortBlank\", */ f:parse_BrtShortBlank },\n\t/*::[*/0x000D/*::]*/: { /* n:\"BrtShortRk\", */ f:parse_BrtShortRk },\n\t/*::[*/0x000E/*::]*/: { /* n:\"BrtShortError\", */ f:parse_BrtShortError },\n\t/*::[*/0x000F/*::]*/: { /* n:\"BrtShortBool\", */ f:parse_BrtShortBool },\n\t/*::[*/0x0010/*::]*/: { /* n:\"BrtShortReal\", */ f:parse_BrtShortReal },\n\t/*::[*/0x0011/*::]*/: { /* n:\"BrtShortSt\", */ f:parse_BrtShortSt },\n\t/*::[*/0x0012/*::]*/: { /* n:\"BrtShortIsst\", */ f:parse_BrtShortIsst },\n\t/*::[*/0x0013/*::]*/: { /* n:\"BrtSSTItem\", */ f:parse_RichStr },\n\t/*::[*/0x0014/*::]*/: { /* n:\"BrtPCDIMissing\" */ },\n\t/*::[*/0x0015/*::]*/: { /* n:\"BrtPCDINumber\" */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"BrtPCDIBoolean\" */ },\n\t/*::[*/0x0017/*::]*/: { /* n:\"BrtPCDIError\" */ },\n\t/*::[*/0x0018/*::]*/: { /* n:\"BrtPCDIString\" */ },\n\t/*::[*/0x0019/*::]*/: { /* n:\"BrtPCDIDatetime\" */ },\n\t/*::[*/0x001A/*::]*/: { /* n:\"BrtPCDIIndex\" */ },\n\t/*::[*/0x001B/*::]*/: { /* n:\"BrtPCDIAMissing\" */ },\n\t/*::[*/0x001C/*::]*/: { /* n:\"BrtPCDIANumber\" */ },\n\t/*::[*/0x001D/*::]*/: { /* n:\"BrtPCDIABoolean\" */ },\n\t/*::[*/0x001E/*::]*/: { /* n:\"BrtPCDIAError\" */ },\n\t/*::[*/0x001F/*::]*/: { /* n:\"BrtPCDIAString\" */ },\n\t/*::[*/0x0020/*::]*/: { /* n:\"BrtPCDIADatetime\" */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"BrtPCRRecord\" */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"BrtPCRRecordDt\" */ },\n\t/*::[*/0x0023/*::]*/: { /* n:\"BrtFRTBegin\", */ T:1 },\n\t/*::[*/0x0024/*::]*/: { /* n:\"BrtFRTEnd\", */ T:-1 },\n\t/*::[*/0x0025/*::]*/: { /* n:\"BrtACBegin\", */ T:1 },\n\t/*::[*/0x0026/*::]*/: { /* n:\"BrtACEnd\", */ T:-1 },\n\t/*::[*/0x0027/*::]*/: { /* n:\"BrtName\", */ f:parse_BrtName },\n\t/*::[*/0x0028/*::]*/: { /* n:\"BrtIndexRowBlock\" */ },\n\t/*::[*/0x002A/*::]*/: { /* n:\"BrtIndexBlock\" */ },\n\t/*::[*/0x002B/*::]*/: { /* n:\"BrtFont\", */ f:parse_BrtFont },\n\t/*::[*/0x002C/*::]*/: { /* n:\"BrtFmt\", */ f:parse_BrtFmt },\n\t/*::[*/0x002D/*::]*/: { /* n:\"BrtFill\", */ f:parse_BrtFill },\n\t/*::[*/0x002E/*::]*/: { /* n:\"BrtBorder\", */ f:parse_BrtBorder },\n\t/*::[*/0x002F/*::]*/: { /* n:\"BrtXF\", */ f:parse_BrtXF },\n\t/*::[*/0x0030/*::]*/: { /* n:\"BrtStyle\" */ },\n\t/*::[*/0x0031/*::]*/: { /* n:\"BrtCellMeta\", */ f:parse_Int32LE },\n\t/*::[*/0x0032/*::]*/: { /* n:\"BrtValueMeta\" */ },\n\t/*::[*/0x0033/*::]*/: { /* n:\"BrtMdb\" */ f:parse_BrtMdb },\n\t/*::[*/0x0034/*::]*/: { /* n:\"BrtBeginFmd\", */ T:1 },\n\t/*::[*/0x0035/*::]*/: { /* n:\"BrtEndFmd\", */ T:-1 },\n\t/*::[*/0x0036/*::]*/: { /* n:\"BrtBeginMdx\", */ T:1 },\n\t/*::[*/0x0037/*::]*/: { /* n:\"BrtEndMdx\", */ T:-1 },\n\t/*::[*/0x0038/*::]*/: { /* n:\"BrtBeginMdxTuple\", */ T:1 },\n\t/*::[*/0x0039/*::]*/: { /* n:\"BrtEndMdxTuple\", */ T:-1 },\n\t/*::[*/0x003A/*::]*/: { /* n:\"BrtMdxMbrIstr\" */ },\n\t/*::[*/0x003B/*::]*/: { /* n:\"BrtStr\" */ },\n\t/*::[*/0x003C/*::]*/: { /* n:\"BrtColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x003E/*::]*/: { /* n:\"BrtCellRString\", */ f:parse_BrtCellRString },\n\t/*::[*/0x003F/*::]*/: { /* n:\"BrtCalcChainItem$\", */ f:parse_BrtCalcChainItem$ },\n\t/*::[*/0x0040/*::]*/: { /* n:\"BrtDVal\", */ f:parse_BrtDVal },\n\t/*::[*/0x0041/*::]*/: { /* n:\"BrtSxvcellNum\" */ },\n\t/*::[*/0x0042/*::]*/: { /* n:\"BrtSxvcellStr\" */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BrtSxvcellBool\" */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BrtSxvcellErr\" */ },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BrtSxvcellDate\" */ },\n\t/*::[*/0x0046/*::]*/: { /* n:\"BrtSxvcellNil\" */ },\n\t/*::[*/0x0080/*::]*/: { /* n:\"BrtFileVersion\" */ },\n\t/*::[*/0x0081/*::]*/: { /* n:\"BrtBeginSheet\", */ T:1 },\n\t/*::[*/0x0082/*::]*/: { /* n:\"BrtEndSheet\", */ T:-1 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"BrtBeginBook\", */ T:1, f:parsenoop, p:0 },\n\t/*::[*/0x0084/*::]*/: { /* n:\"BrtEndBook\", */ T:-1 },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BrtBeginWsViews\", */ T:1 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"BrtEndWsViews\", */ T:-1 },\n\t/*::[*/0x0087/*::]*/: { /* n:\"BrtBeginBookViews\", */ T:1 },\n\t/*::[*/0x0088/*::]*/: { /* n:\"BrtEndBookViews\", */ T:-1 },\n\t/*::[*/0x0089/*::]*/: { /* n:\"BrtBeginWsView\", */ T:1, f:parse_BrtBeginWsView },\n\t/*::[*/0x008A/*::]*/: { /* n:\"BrtEndWsView\", */ T:-1 },\n\t/*::[*/0x008B/*::]*/: { /* n:\"BrtBeginCsViews\", */ T:1 },\n\t/*::[*/0x008C/*::]*/: { /* n:\"BrtEndCsViews\", */ T:-1 },\n\t/*::[*/0x008D/*::]*/: { /* n:\"BrtBeginCsView\", */ T:1 },\n\t/*::[*/0x008E/*::]*/: { /* n:\"BrtEndCsView\", */ T:-1 },\n\t/*::[*/0x008F/*::]*/: { /* n:\"BrtBeginBundleShs\", */ T:1 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"BrtEndBundleShs\", */ T:-1 },\n\t/*::[*/0x0091/*::]*/: { /* n:\"BrtBeginSheetData\", */ T:1 },\n\t/*::[*/0x0092/*::]*/: { /* n:\"BrtEndSheetData\", */ T:-1 },\n\t/*::[*/0x0093/*::]*/: { /* n:\"BrtWsProp\", */ f:parse_BrtWsProp },\n\t/*::[*/0x0094/*::]*/: { /* n:\"BrtWsDim\", */ f:parse_BrtWsDim, p:16 },\n\t/*::[*/0x0097/*::]*/: { /* n:\"BrtPane\", */ f:parse_BrtPane },\n\t/*::[*/0x0098/*::]*/: { /* n:\"BrtSel\" */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"BrtWbProp\", */ f:parse_BrtWbProp },\n\t/*::[*/0x009A/*::]*/: { /* n:\"BrtWbFactoid\" */ },\n\t/*::[*/0x009B/*::]*/: { /* n:\"BrtFileRecover\" */ },\n\t/*::[*/0x009C/*::]*/: { /* n:\"BrtBundleSh\", */ f:parse_BrtBundleSh },\n\t/*::[*/0x009D/*::]*/: { /* n:\"BrtCalcProp\" */ },\n\t/*::[*/0x009E/*::]*/: { /* n:\"BrtBookView\" */ },\n\t/*::[*/0x009F/*::]*/: { /* n:\"BrtBeginSst\", */ T:1, f:parse_BrtBeginSst },\n\t/*::[*/0x00A0/*::]*/: { /* n:\"BrtEndSst\", */ T:-1 },\n\t/*::[*/0x00A1/*::]*/: { /* n:\"BrtBeginAFilter\", */ T:1, f:parse_UncheckedRfX },\n\t/*::[*/0x00A2/*::]*/: { /* n:\"BrtEndAFilter\", */ T:-1 },\n\t/*::[*/0x00A3/*::]*/: { /* n:\"BrtBeginFilterColumn\", */ T:1 },\n\t/*::[*/0x00A4/*::]*/: { /* n:\"BrtEndFilterColumn\", */ T:-1 },\n\t/*::[*/0x00A5/*::]*/: { /* n:\"BrtBeginFilters\", */ T:1 },\n\t/*::[*/0x00A6/*::]*/: { /* n:\"BrtEndFilters\", */ T:-1 },\n\t/*::[*/0x00A7/*::]*/: { /* n:\"BrtFilter\" */ },\n\t/*::[*/0x00A8/*::]*/: { /* n:\"BrtColorFilter\" */ },\n\t/*::[*/0x00A9/*::]*/: { /* n:\"BrtIconFilter\" */ },\n\t/*::[*/0x00AA/*::]*/: { /* n:\"BrtTop10Filter\" */ },\n\t/*::[*/0x00AB/*::]*/: { /* n:\"BrtDynamicFilter\" */ },\n\t/*::[*/0x00AC/*::]*/: { /* n:\"BrtBeginCustomFilters\", */ T:1 },\n\t/*::[*/0x00AD/*::]*/: { /* n:\"BrtEndCustomFilters\", */ T:-1 },\n\t/*::[*/0x00AE/*::]*/: { /* n:\"BrtCustomFilter\" */ },\n\t/*::[*/0x00AF/*::]*/: { /* n:\"BrtAFilterDateGroupItem\" */ },\n\t/*::[*/0x00B0/*::]*/: { /* n:\"BrtMergeCell\", */ f:parse_BrtMergeCell },\n\t/*::[*/0x00B1/*::]*/: { /* n:\"BrtBeginMergeCells\", */ T:1 },\n\t/*::[*/0x00B2/*::]*/: { /* n:\"BrtEndMergeCells\", */ T:-1 },\n\t/*::[*/0x00B3/*::]*/: { /* n:\"BrtBeginPivotCacheDef\", */ T:1 },\n\t/*::[*/0x00B4/*::]*/: { /* n:\"BrtEndPivotCacheDef\", */ T:-1 },\n\t/*::[*/0x00B5/*::]*/: { /* n:\"BrtBeginPCDFields\", */ T:1 },\n\t/*::[*/0x00B6/*::]*/: { /* n:\"BrtEndPCDFields\", */ T:-1 },\n\t/*::[*/0x00B7/*::]*/: { /* n:\"BrtBeginPCDField\", */ T:1 },\n\t/*::[*/0x00B8/*::]*/: { /* n:\"BrtEndPCDField\", */ T:-1 },\n\t/*::[*/0x00B9/*::]*/: { /* n:\"BrtBeginPCDSource\", */ T:1 },\n\t/*::[*/0x00BA/*::]*/: { /* n:\"BrtEndPCDSource\", */ T:-1 },\n\t/*::[*/0x00BB/*::]*/: { /* n:\"BrtBeginPCDSRange\", */ T:1 },\n\t/*::[*/0x00BC/*::]*/: { /* n:\"BrtEndPCDSRange\", */ T:-1 },\n\t/*::[*/0x00BD/*::]*/: { /* n:\"BrtBeginPCDFAtbl\", */ T:1 },\n\t/*::[*/0x00BE/*::]*/: { /* n:\"BrtEndPCDFAtbl\", */ T:-1 },\n\t/*::[*/0x00BF/*::]*/: { /* n:\"BrtBeginPCDIRun\", */ T:1 },\n\t/*::[*/0x00C0/*::]*/: { /* n:\"BrtEndPCDIRun\", */ T:-1 },\n\t/*::[*/0x00C1/*::]*/: { /* n:\"BrtBeginPivotCacheRecords\", */ T:1 },\n\t/*::[*/0x00C2/*::]*/: { /* n:\"BrtEndPivotCacheRecords\", */ T:-1 },\n\t/*::[*/0x00C3/*::]*/: { /* n:\"BrtBeginPCDHierarchies\", */ T:1 },\n\t/*::[*/0x00C4/*::]*/: { /* n:\"BrtEndPCDHierarchies\", */ T:-1 },\n\t/*::[*/0x00C5/*::]*/: { /* n:\"BrtBeginPCDHierarchy\", */ T:1 },\n\t/*::[*/0x00C6/*::]*/: { /* n:\"BrtEndPCDHierarchy\", */ T:-1 },\n\t/*::[*/0x00C7/*::]*/: { /* n:\"BrtBeginPCDHFieldsUsage\", */ T:1 },\n\t/*::[*/0x00C8/*::]*/: { /* n:\"BrtEndPCDHFieldsUsage\", */ T:-1 },\n\t/*::[*/0x00C9/*::]*/: { /* n:\"BrtBeginExtConnection\", */ T:1 },\n\t/*::[*/0x00CA/*::]*/: { /* n:\"BrtEndExtConnection\", */ T:-1 },\n\t/*::[*/0x00CB/*::]*/: { /* n:\"BrtBeginECDbProps\", */ T:1 },\n\t/*::[*/0x00CC/*::]*/: { /* n:\"BrtEndECDbProps\", */ T:-1 },\n\t/*::[*/0x00CD/*::]*/: { /* n:\"BrtBeginECOlapProps\", */ T:1 },\n\t/*::[*/0x00CE/*::]*/: { /* n:\"BrtEndECOlapProps\", */ T:-1 },\n\t/*::[*/0x00CF/*::]*/: { /* n:\"BrtBeginPCDSConsol\", */ T:1 },\n\t/*::[*/0x00D0/*::]*/: { /* n:\"BrtEndPCDSConsol\", */ T:-1 },\n\t/*::[*/0x00D1/*::]*/: { /* n:\"BrtBeginPCDSCPages\", */ T:1 },\n\t/*::[*/0x00D2/*::]*/: { /* n:\"BrtEndPCDSCPages\", */ T:-1 },\n\t/*::[*/0x00D3/*::]*/: { /* n:\"BrtBeginPCDSCPage\", */ T:1 },\n\t/*::[*/0x00D4/*::]*/: { /* n:\"BrtEndPCDSCPage\", */ T:-1 },\n\t/*::[*/0x00D5/*::]*/: { /* n:\"BrtBeginPCDSCPItem\", */ T:1 },\n\t/*::[*/0x00D6/*::]*/: { /* n:\"BrtEndPCDSCPItem\", */ T:-1 },\n\t/*::[*/0x00D7/*::]*/: { /* n:\"BrtBeginPCDSCSets\", */ T:1 },\n\t/*::[*/0x00D8/*::]*/: { /* n:\"BrtEndPCDSCSets\", */ T:-1 },\n\t/*::[*/0x00D9/*::]*/: { /* n:\"BrtBeginPCDSCSet\", */ T:1 },\n\t/*::[*/0x00DA/*::]*/: { /* n:\"BrtEndPCDSCSet\", */ T:-1 },\n\t/*::[*/0x00DB/*::]*/: { /* n:\"BrtBeginPCDFGroup\", */ T:1 },\n\t/*::[*/0x00DC/*::]*/: { /* n:\"BrtEndPCDFGroup\", */ T:-1 },\n\t/*::[*/0x00DD/*::]*/: { /* n:\"BrtBeginPCDFGItems\", */ T:1 },\n\t/*::[*/0x00DE/*::]*/: { /* n:\"BrtEndPCDFGItems\", */ T:-1 },\n\t/*::[*/0x00DF/*::]*/: { /* n:\"BrtBeginPCDFGRange\", */ T:1 },\n\t/*::[*/0x00E0/*::]*/: { /* n:\"BrtEndPCDFGRange\", */ T:-1 },\n\t/*::[*/0x00E1/*::]*/: { /* n:\"BrtBeginPCDFGDiscrete\", */ T:1 },\n\t/*::[*/0x00E2/*::]*/: { /* n:\"BrtEndPCDFGDiscrete\", */ T:-1 },\n\t/*::[*/0x00E3/*::]*/: { /* n:\"BrtBeginPCDSDTupleCache\", */ T:1 },\n\t/*::[*/0x00E4/*::]*/: { /* n:\"BrtEndPCDSDTupleCache\", */ T:-1 },\n\t/*::[*/0x00E5/*::]*/: { /* n:\"BrtBeginPCDSDTCEntries\", */ T:1 },\n\t/*::[*/0x00E6/*::]*/: { /* n:\"BrtEndPCDSDTCEntries\", */ T:-1 },\n\t/*::[*/0x00E7/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembers\", */ T:1 },\n\t/*::[*/0x00E8/*::]*/: { /* n:\"BrtEndPCDSDTCEMembers\", */ T:-1 },\n\t/*::[*/0x00E9/*::]*/: { /* n:\"BrtBeginPCDSDTCEMember\", */ T:1 },\n\t/*::[*/0x00EA/*::]*/: { /* n:\"BrtEndPCDSDTCEMember\", */ T:-1 },\n\t/*::[*/0x00EB/*::]*/: { /* n:\"BrtBeginPCDSDTCQueries\", */ T:1 },\n\t/*::[*/0x00EC/*::]*/: { /* n:\"BrtEndPCDSDTCQueries\", */ T:-1 },\n\t/*::[*/0x00ED/*::]*/: { /* n:\"BrtBeginPCDSDTCQuery\", */ T:1 },\n\t/*::[*/0x00EE/*::]*/: { /* n:\"BrtEndPCDSDTCQuery\", */ T:-1 },\n\t/*::[*/0x00EF/*::]*/: { /* n:\"BrtBeginPCDSDTCSets\", */ T:1 },\n\t/*::[*/0x00F0/*::]*/: { /* n:\"BrtEndPCDSDTCSets\", */ T:-1 },\n\t/*::[*/0x00F1/*::]*/: { /* n:\"BrtBeginPCDSDTCSet\", */ T:1 },\n\t/*::[*/0x00F2/*::]*/: { /* n:\"BrtEndPCDSDTCSet\", */ T:-1 },\n\t/*::[*/0x00F3/*::]*/: { /* n:\"BrtBeginPCDCalcItems\", */ T:1 },\n\t/*::[*/0x00F4/*::]*/: { /* n:\"BrtEndPCDCalcItems\", */ T:-1 },\n\t/*::[*/0x00F5/*::]*/: { /* n:\"BrtBeginPCDCalcItem\", */ T:1 },\n\t/*::[*/0x00F6/*::]*/: { /* n:\"BrtEndPCDCalcItem\", */ T:-1 },\n\t/*::[*/0x00F7/*::]*/: { /* n:\"BrtBeginPRule\", */ T:1 },\n\t/*::[*/0x00F8/*::]*/: { /* n:\"BrtEndPRule\", */ T:-1 },\n\t/*::[*/0x00F9/*::]*/: { /* n:\"BrtBeginPRFilters\", */ T:1 },\n\t/*::[*/0x00FA/*::]*/: { /* n:\"BrtEndPRFilters\", */ T:-1 },\n\t/*::[*/0x00FB/*::]*/: { /* n:\"BrtBeginPRFilter\", */ T:1 },\n\t/*::[*/0x00FC/*::]*/: { /* n:\"BrtEndPRFilter\", */ T:-1 },\n\t/*::[*/0x00FD/*::]*/: { /* n:\"BrtBeginPNames\", */ T:1 },\n\t/*::[*/0x00FE/*::]*/: { /* n:\"BrtEndPNames\", */ T:-1 },\n\t/*::[*/0x00FF/*::]*/: { /* n:\"BrtBeginPName\", */ T:1 },\n\t/*::[*/0x0100/*::]*/: { /* n:\"BrtEndPName\", */ T:-1 },\n\t/*::[*/0x0101/*::]*/: { /* n:\"BrtBeginPNPairs\", */ T:1 },\n\t/*::[*/0x0102/*::]*/: { /* n:\"BrtEndPNPairs\", */ T:-1 },\n\t/*::[*/0x0103/*::]*/: { /* n:\"BrtBeginPNPair\", */ T:1 },\n\t/*::[*/0x0104/*::]*/: { /* n:\"BrtEndPNPair\", */ T:-1 },\n\t/*::[*/0x0105/*::]*/: { /* n:\"BrtBeginECWebProps\", */ T:1 },\n\t/*::[*/0x0106/*::]*/: { /* n:\"BrtEndECWebProps\", */ T:-1 },\n\t/*::[*/0x0107/*::]*/: { /* n:\"BrtBeginEcWpTables\", */ T:1 },\n\t/*::[*/0x0108/*::]*/: { /* n:\"BrtEndECWPTables\", */ T:-1 },\n\t/*::[*/0x0109/*::]*/: { /* n:\"BrtBeginECParams\", */ T:1 },\n\t/*::[*/0x010A/*::]*/: { /* n:\"BrtEndECParams\", */ T:-1 },\n\t/*::[*/0x010B/*::]*/: { /* n:\"BrtBeginECParam\", */ T:1 },\n\t/*::[*/0x010C/*::]*/: { /* n:\"BrtEndECParam\", */ T:-1 },\n\t/*::[*/0x010D/*::]*/: { /* n:\"BrtBeginPCDKPIs\", */ T:1 },\n\t/*::[*/0x010E/*::]*/: { /* n:\"BrtEndPCDKPIs\", */ T:-1 },\n\t/*::[*/0x010F/*::]*/: { /* n:\"BrtBeginPCDKPI\", */ T:1 },\n\t/*::[*/0x0110/*::]*/: { /* n:\"BrtEndPCDKPI\", */ T:-1 },\n\t/*::[*/0x0111/*::]*/: { /* n:\"BrtBeginDims\", */ T:1 },\n\t/*::[*/0x0112/*::]*/: { /* n:\"BrtEndDims\", */ T:-1 },\n\t/*::[*/0x0113/*::]*/: { /* n:\"BrtBeginDim\", */ T:1 },\n\t/*::[*/0x0114/*::]*/: { /* n:\"BrtEndDim\", */ T:-1 },\n\t/*::[*/0x0115/*::]*/: { /* n:\"BrtIndexPartEnd\" */ },\n\t/*::[*/0x0116/*::]*/: { /* n:\"BrtBeginStyleSheet\", */ T:1 },\n\t/*::[*/0x0117/*::]*/: { /* n:\"BrtEndStyleSheet\", */ T:-1 },\n\t/*::[*/0x0118/*::]*/: { /* n:\"BrtBeginSXView\", */ T:1 },\n\t/*::[*/0x0119/*::]*/: { /* n:\"BrtEndSXVI\", */ T:-1 },\n\t/*::[*/0x011A/*::]*/: { /* n:\"BrtBeginSXVI\", */ T:1 },\n\t/*::[*/0x011B/*::]*/: { /* n:\"BrtBeginSXVIs\", */ T:1 },\n\t/*::[*/0x011C/*::]*/: { /* n:\"BrtEndSXVIs\", */ T:-1 },\n\t/*::[*/0x011D/*::]*/: { /* n:\"BrtBeginSXVD\", */ T:1 },\n\t/*::[*/0x011E/*::]*/: { /* n:\"BrtEndSXVD\", */ T:-1 },\n\t/*::[*/0x011F/*::]*/: { /* n:\"BrtBeginSXVDs\", */ T:1 },\n\t/*::[*/0x0120/*::]*/: { /* n:\"BrtEndSXVDs\", */ T:-1 },\n\t/*::[*/0x0121/*::]*/: { /* n:\"BrtBeginSXPI\", */ T:1 },\n\t/*::[*/0x0122/*::]*/: { /* n:\"BrtEndSXPI\", */ T:-1 },\n\t/*::[*/0x0123/*::]*/: { /* n:\"BrtBeginSXPIs\", */ T:1 },\n\t/*::[*/0x0124/*::]*/: { /* n:\"BrtEndSXPIs\", */ T:-1 },\n\t/*::[*/0x0125/*::]*/: { /* n:\"BrtBeginSXDI\", */ T:1 },\n\t/*::[*/0x0126/*::]*/: { /* n:\"BrtEndSXDI\", */ T:-1 },\n\t/*::[*/0x0127/*::]*/: { /* n:\"BrtBeginSXDIs\", */ T:1 },\n\t/*::[*/0x0128/*::]*/: { /* n:\"BrtEndSXDIs\", */ T:-1 },\n\t/*::[*/0x0129/*::]*/: { /* n:\"BrtBeginSXLI\", */ T:1 },\n\t/*::[*/0x012A/*::]*/: { /* n:\"BrtEndSXLI\", */ T:-1 },\n\t/*::[*/0x012B/*::]*/: { /* n:\"BrtBeginSXLIRws\", */ T:1 },\n\t/*::[*/0x012C/*::]*/: { /* n:\"BrtEndSXLIRws\", */ T:-1 },\n\t/*::[*/0x012D/*::]*/: { /* n:\"BrtBeginSXLICols\", */ T:1 },\n\t/*::[*/0x012E/*::]*/: { /* n:\"BrtEndSXLICols\", */ T:-1 },\n\t/*::[*/0x012F/*::]*/: { /* n:\"BrtBeginSXFormat\", */ T:1 },\n\t/*::[*/0x0130/*::]*/: { /* n:\"BrtEndSXFormat\", */ T:-1 },\n\t/*::[*/0x0131/*::]*/: { /* n:\"BrtBeginSXFormats\", */ T:1 },\n\t/*::[*/0x0132/*::]*/: { /* n:\"BrtEndSxFormats\", */ T:-1 },\n\t/*::[*/0x0133/*::]*/: { /* n:\"BrtBeginSxSelect\", */ T:1 },\n\t/*::[*/0x0134/*::]*/: { /* n:\"BrtEndSxSelect\", */ T:-1 },\n\t/*::[*/0x0135/*::]*/: { /* n:\"BrtBeginISXVDRws\", */ T:1 },\n\t/*::[*/0x0136/*::]*/: { /* n:\"BrtEndISXVDRws\", */ T:-1 },\n\t/*::[*/0x0137/*::]*/: { /* n:\"BrtBeginISXVDCols\", */ T:1 },\n\t/*::[*/0x0138/*::]*/: { /* n:\"BrtEndISXVDCols\", */ T:-1 },\n\t/*::[*/0x0139/*::]*/: { /* n:\"BrtEndSXLocation\", */ T:-1 },\n\t/*::[*/0x013A/*::]*/: { /* n:\"BrtBeginSXLocation\", */ T:1 },\n\t/*::[*/0x013B/*::]*/: { /* n:\"BrtEndSXView\", */ T:-1 },\n\t/*::[*/0x013C/*::]*/: { /* n:\"BrtBeginSXTHs\", */ T:1 },\n\t/*::[*/0x013D/*::]*/: { /* n:\"BrtEndSXTHs\", */ T:-1 },\n\t/*::[*/0x013E/*::]*/: { /* n:\"BrtBeginSXTH\", */ T:1 },\n\t/*::[*/0x013F/*::]*/: { /* n:\"BrtEndSXTH\", */ T:-1 },\n\t/*::[*/0x0140/*::]*/: { /* n:\"BrtBeginISXTHRws\", */ T:1 },\n\t/*::[*/0x0141/*::]*/: { /* n:\"BrtEndISXTHRws\", */ T:-1 },\n\t/*::[*/0x0142/*::]*/: { /* n:\"BrtBeginISXTHCols\", */ T:1 },\n\t/*::[*/0x0143/*::]*/: { /* n:\"BrtEndISXTHCols\", */ T:-1 },\n\t/*::[*/0x0144/*::]*/: { /* n:\"BrtBeginSXTDMPS\", */ T:1 },\n\t/*::[*/0x0145/*::]*/: { /* n:\"BrtEndSXTDMPs\", */ T:-1 },\n\t/*::[*/0x0146/*::]*/: { /* n:\"BrtBeginSXTDMP\", */ T:1 },\n\t/*::[*/0x0147/*::]*/: { /* n:\"BrtEndSXTDMP\", */ T:-1 },\n\t/*::[*/0x0148/*::]*/: { /* n:\"BrtBeginSXTHItems\", */ T:1 },\n\t/*::[*/0x0149/*::]*/: { /* n:\"BrtEndSXTHItems\", */ T:-1 },\n\t/*::[*/0x014A/*::]*/: { /* n:\"BrtBeginSXTHItem\", */ T:1 },\n\t/*::[*/0x014B/*::]*/: { /* n:\"BrtEndSXTHItem\", */ T:-1 },\n\t/*::[*/0x014C/*::]*/: { /* n:\"BrtBeginMetadata\", */ T:1 },\n\t/*::[*/0x014D/*::]*/: { /* n:\"BrtEndMetadata\", */ T:-1 },\n\t/*::[*/0x014E/*::]*/: { /* n:\"BrtBeginEsmdtinfo\", */ T:1 },\n\t/*::[*/0x014F/*::]*/: { /* n:\"BrtMdtinfo\", */ f:parse_BrtMdtinfo },\n\t/*::[*/0x0150/*::]*/: { /* n:\"BrtEndEsmdtinfo\", */ T:-1 },\n\t/*::[*/0x0151/*::]*/: { /* n:\"BrtBeginEsmdb\", */ f:parse_BrtBeginEsmdb, T:1 },\n\t/*::[*/0x0152/*::]*/: { /* n:\"BrtEndEsmdb\", */ T:-1 },\n\t/*::[*/0x0153/*::]*/: { /* n:\"BrtBeginEsfmd\", */ T:1 },\n\t/*::[*/0x0154/*::]*/: { /* n:\"BrtEndEsfmd\", */ T:-1 },\n\t/*::[*/0x0155/*::]*/: { /* n:\"BrtBeginSingleCells\", */ T:1 },\n\t/*::[*/0x0156/*::]*/: { /* n:\"BrtEndSingleCells\", */ T:-1 },\n\t/*::[*/0x0157/*::]*/: { /* n:\"BrtBeginList\", */ T:1 },\n\t/*::[*/0x0158/*::]*/: { /* n:\"BrtEndList\", */ T:-1 },\n\t/*::[*/0x0159/*::]*/: { /* n:\"BrtBeginListCols\", */ T:1 },\n\t/*::[*/0x015A/*::]*/: { /* n:\"BrtEndListCols\", */ T:-1 },\n\t/*::[*/0x015B/*::]*/: { /* n:\"BrtBeginListCol\", */ T:1 },\n\t/*::[*/0x015C/*::]*/: { /* n:\"BrtEndListCol\", */ T:-1 },\n\t/*::[*/0x015D/*::]*/: { /* n:\"BrtBeginListXmlCPr\", */ T:1 },\n\t/*::[*/0x015E/*::]*/: { /* n:\"BrtEndListXmlCPr\", */ T:-1 },\n\t/*::[*/0x015F/*::]*/: { /* n:\"BrtListCCFmla\" */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"BrtListTrFmla\" */ },\n\t/*::[*/0x0161/*::]*/: { /* n:\"BrtBeginExternals\", */ T:1 },\n\t/*::[*/0x0162/*::]*/: { /* n:\"BrtEndExternals\", */ T:-1 },\n\t/*::[*/0x0163/*::]*/: { /* n:\"BrtSupBookSrc\", */ f:parse_RelID},\n\t/*::[*/0x0165/*::]*/: { /* n:\"BrtSupSelf\" */ },\n\t/*::[*/0x0166/*::]*/: { /* n:\"BrtSupSame\" */ },\n\t/*::[*/0x0167/*::]*/: { /* n:\"BrtSupTabs\" */ },\n\t/*::[*/0x0168/*::]*/: { /* n:\"BrtBeginSupBook\", */ T:1 },\n\t/*::[*/0x0169/*::]*/: { /* n:\"BrtPlaceholderName\" */ },\n\t/*::[*/0x016A/*::]*/: { /* n:\"BrtExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x016B/*::]*/: { /* n:\"BrtExternTableStart\" */ },\n\t/*::[*/0x016C/*::]*/: { /* n:\"BrtExternTableEnd\" */ },\n\t/*::[*/0x016E/*::]*/: { /* n:\"BrtExternRowHdr\" */ },\n\t/*::[*/0x016F/*::]*/: { /* n:\"BrtExternCellBlank\" */ },\n\t/*::[*/0x0170/*::]*/: { /* n:\"BrtExternCellReal\" */ },\n\t/*::[*/0x0171/*::]*/: { /* n:\"BrtExternCellBool\" */ },\n\t/*::[*/0x0172/*::]*/: { /* n:\"BrtExternCellError\" */ },\n\t/*::[*/0x0173/*::]*/: { /* n:\"BrtExternCellString\" */ },\n\t/*::[*/0x0174/*::]*/: { /* n:\"BrtBeginEsmdx\", */ T:1 },\n\t/*::[*/0x0175/*::]*/: { /* n:\"BrtEndEsmdx\", */ T:-1 },\n\t/*::[*/0x0176/*::]*/: { /* n:\"BrtBeginMdxSet\", */ T:1 },\n\t/*::[*/0x0177/*::]*/: { /* n:\"BrtEndMdxSet\", */ T:-1 },\n\t/*::[*/0x0178/*::]*/: { /* n:\"BrtBeginMdxMbrProp\", */ T:1 },\n\t/*::[*/0x0179/*::]*/: { /* n:\"BrtEndMdxMbrProp\", */ T:-1 },\n\t/*::[*/0x017A/*::]*/: { /* n:\"BrtBeginMdxKPI\", */ T:1 },\n\t/*::[*/0x017B/*::]*/: { /* n:\"BrtEndMdxKPI\", */ T:-1 },\n\t/*::[*/0x017C/*::]*/: { /* n:\"BrtBeginEsstr\", */ T:1 },\n\t/*::[*/0x017D/*::]*/: { /* n:\"BrtEndEsstr\", */ T:-1 },\n\t/*::[*/0x017E/*::]*/: { /* n:\"BrtBeginPRFItem\", */ T:1 },\n\t/*::[*/0x017F/*::]*/: { /* n:\"BrtEndPRFItem\", */ T:-1 },\n\t/*::[*/0x0180/*::]*/: { /* n:\"BrtBeginPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0181/*::]*/: { /* n:\"BrtEndPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0182/*::]*/: { /* n:\"BrtBeginPivotCacheID\", */ T:1 },\n\t/*::[*/0x0183/*::]*/: { /* n:\"BrtEndPivotCacheID\", */ T:-1 },\n\t/*::[*/0x0184/*::]*/: { /* n:\"BrtBeginISXVIs\", */ T:1 },\n\t/*::[*/0x0185/*::]*/: { /* n:\"BrtEndISXVIs\", */ T:-1 },\n\t/*::[*/0x0186/*::]*/: { /* n:\"BrtBeginColInfos\", */ T:1 },\n\t/*::[*/0x0187/*::]*/: { /* n:\"BrtEndColInfos\", */ T:-1 },\n\t/*::[*/0x0188/*::]*/: { /* n:\"BrtBeginRwBrk\", */ T:1 },\n\t/*::[*/0x0189/*::]*/: { /* n:\"BrtEndRwBrk\", */ T:-1 },\n\t/*::[*/0x018A/*::]*/: { /* n:\"BrtBeginColBrk\", */ T:1 },\n\t/*::[*/0x018B/*::]*/: { /* n:\"BrtEndColBrk\", */ T:-1 },\n\t/*::[*/0x018C/*::]*/: { /* n:\"BrtBrk\" */ },\n\t/*::[*/0x018D/*::]*/: { /* n:\"BrtUserBookView\" */ },\n\t/*::[*/0x018E/*::]*/: { /* n:\"BrtInfo\" */ },\n\t/*::[*/0x018F/*::]*/: { /* n:\"BrtCUsr\" */ },\n\t/*::[*/0x0190/*::]*/: { /* n:\"BrtUsr\" */ },\n\t/*::[*/0x0191/*::]*/: { /* n:\"BrtBeginUsers\", */ T:1 },\n\t/*::[*/0x0193/*::]*/: { /* n:\"BrtEOF\" */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"BrtUCR\" */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"BrtRRInsDel\" */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"BrtRREndInsDel\" */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BrtRRMove\" */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"BrtRREndMove\" */ },\n\t/*::[*/0x0199/*::]*/: { /* n:\"BrtRRChgCell\" */ },\n\t/*::[*/0x019A/*::]*/: { /* n:\"BrtRREndChgCell\" */ },\n\t/*::[*/0x019B/*::]*/: { /* n:\"BrtRRHeader\" */ },\n\t/*::[*/0x019C/*::]*/: { /* n:\"BrtRRUserView\" */ },\n\t/*::[*/0x019D/*::]*/: { /* n:\"BrtRRRenSheet\" */ },\n\t/*::[*/0x019E/*::]*/: { /* n:\"BrtRRInsertSh\" */ },\n\t/*::[*/0x019F/*::]*/: { /* n:\"BrtRRDefName\" */ },\n\t/*::[*/0x01A0/*::]*/: { /* n:\"BrtRRNote\" */ },\n\t/*::[*/0x01A1/*::]*/: { /* n:\"BrtRRConflict\" */ },\n\t/*::[*/0x01A2/*::]*/: { /* n:\"BrtRRTQSIF\" */ },\n\t/*::[*/0x01A3/*::]*/: { /* n:\"BrtRRFormat\" */ },\n\t/*::[*/0x01A4/*::]*/: { /* n:\"BrtRREndFormat\" */ },\n\t/*::[*/0x01A5/*::]*/: { /* n:\"BrtRRAutoFmt\" */ },\n\t/*::[*/0x01A6/*::]*/: { /* n:\"BrtBeginUserShViews\", */ T:1 },\n\t/*::[*/0x01A7/*::]*/: { /* n:\"BrtBeginUserShView\", */ T:1 },\n\t/*::[*/0x01A8/*::]*/: { /* n:\"BrtEndUserShView\", */ T:-1 },\n\t/*::[*/0x01A9/*::]*/: { /* n:\"BrtEndUserShViews\", */ T:-1 },\n\t/*::[*/0x01AA/*::]*/: { /* n:\"BrtArrFmla\", */ f:parse_BrtArrFmla },\n\t/*::[*/0x01AB/*::]*/: { /* n:\"BrtShrFmla\", */ f:parse_BrtShrFmla },\n\t/*::[*/0x01AC/*::]*/: { /* n:\"BrtTable\" */ },\n\t/*::[*/0x01AD/*::]*/: { /* n:\"BrtBeginExtConnections\", */ T:1 },\n\t/*::[*/0x01AE/*::]*/: { /* n:\"BrtEndExtConnections\", */ T:-1 },\n\t/*::[*/0x01AF/*::]*/: { /* n:\"BrtBeginPCDCalcMems\", */ T:1 },\n\t/*::[*/0x01B0/*::]*/: { /* n:\"BrtEndPCDCalcMems\", */ T:-1 },\n\t/*::[*/0x01B1/*::]*/: { /* n:\"BrtBeginPCDCalcMem\", */ T:1 },\n\t/*::[*/0x01B2/*::]*/: { /* n:\"BrtEndPCDCalcMem\", */ T:-1 },\n\t/*::[*/0x01B3/*::]*/: { /* n:\"BrtBeginPCDHGLevels\", */ T:1 },\n\t/*::[*/0x01B4/*::]*/: { /* n:\"BrtEndPCDHGLevels\", */ T:-1 },\n\t/*::[*/0x01B5/*::]*/: { /* n:\"BrtBeginPCDHGLevel\", */ T:1 },\n\t/*::[*/0x01B6/*::]*/: { /* n:\"BrtEndPCDHGLevel\", */ T:-1 },\n\t/*::[*/0x01B7/*::]*/: { /* n:\"BrtBeginPCDHGLGroups\", */ T:1 },\n\t/*::[*/0x01B8/*::]*/: { /* n:\"BrtEndPCDHGLGroups\", */ T:-1 },\n\t/*::[*/0x01B9/*::]*/: { /* n:\"BrtBeginPCDHGLGroup\", */ T:1 },\n\t/*::[*/0x01BA/*::]*/: { /* n:\"BrtEndPCDHGLGroup\", */ T:-1 },\n\t/*::[*/0x01BB/*::]*/: { /* n:\"BrtBeginPCDHGLGMembers\", */ T:1 },\n\t/*::[*/0x01BC/*::]*/: { /* n:\"BrtEndPCDHGLGMembers\", */ T:-1 },\n\t/*::[*/0x01BD/*::]*/: { /* n:\"BrtBeginPCDHGLGMember\", */ T:1 },\n\t/*::[*/0x01BE/*::]*/: { /* n:\"BrtEndPCDHGLGMember\", */ T:-1 },\n\t/*::[*/0x01BF/*::]*/: { /* n:\"BrtBeginQSI\", */ T:1 },\n\t/*::[*/0x01C0/*::]*/: { /* n:\"BrtEndQSI\", */ T:-1 },\n\t/*::[*/0x01C1/*::]*/: { /* n:\"BrtBeginQSIR\", */ T:1 },\n\t/*::[*/0x01C2/*::]*/: { /* n:\"BrtEndQSIR\", */ T:-1 },\n\t/*::[*/0x01C3/*::]*/: { /* n:\"BrtBeginDeletedNames\", */ T:1 },\n\t/*::[*/0x01C4/*::]*/: { /* n:\"BrtEndDeletedNames\", */ T:-1 },\n\t/*::[*/0x01C5/*::]*/: { /* n:\"BrtBeginDeletedName\", */ T:1 },\n\t/*::[*/0x01C6/*::]*/: { /* n:\"BrtEndDeletedName\", */ T:-1 },\n\t/*::[*/0x01C7/*::]*/: { /* n:\"BrtBeginQSIFs\", */ T:1 },\n\t/*::[*/0x01C8/*::]*/: { /* n:\"BrtEndQSIFs\", */ T:-1 },\n\t/*::[*/0x01C9/*::]*/: { /* n:\"BrtBeginQSIF\", */ T:1 },\n\t/*::[*/0x01CA/*::]*/: { /* n:\"BrtEndQSIF\", */ T:-1 },\n\t/*::[*/0x01CB/*::]*/: { /* n:\"BrtBeginAutoSortScope\", */ T:1 },\n\t/*::[*/0x01CC/*::]*/: { /* n:\"BrtEndAutoSortScope\", */ T:-1 },\n\t/*::[*/0x01CD/*::]*/: { /* n:\"BrtBeginConditionalFormatting\", */ T:1 },\n\t/*::[*/0x01CE/*::]*/: { /* n:\"BrtEndConditionalFormatting\", */ T:-1 },\n\t/*::[*/0x01CF/*::]*/: { /* n:\"BrtBeginCFRule\", */ T:1 },\n\t/*::[*/0x01D0/*::]*/: { /* n:\"BrtEndCFRule\", */ T:-1 },\n\t/*::[*/0x01D1/*::]*/: { /* n:\"BrtBeginIconSet\", */ T:1 },\n\t/*::[*/0x01D2/*::]*/: { /* n:\"BrtEndIconSet\", */ T:-1 },\n\t/*::[*/0x01D3/*::]*/: { /* n:\"BrtBeginDatabar\", */ T:1 },\n\t/*::[*/0x01D4/*::]*/: { /* n:\"BrtEndDatabar\", */ T:-1 },\n\t/*::[*/0x01D5/*::]*/: { /* n:\"BrtBeginColorScale\", */ T:1 },\n\t/*::[*/0x01D6/*::]*/: { /* n:\"BrtEndColorScale\", */ T:-1 },\n\t/*::[*/0x01D7/*::]*/: { /* n:\"BrtCFVO\" */ },\n\t/*::[*/0x01D8/*::]*/: { /* n:\"BrtExternValueMeta\" */ },\n\t/*::[*/0x01D9/*::]*/: { /* n:\"BrtBeginColorPalette\", */ T:1 },\n\t/*::[*/0x01DA/*::]*/: { /* n:\"BrtEndColorPalette\", */ T:-1 },\n\t/*::[*/0x01DB/*::]*/: { /* n:\"BrtIndexedColor\" */ },\n\t/*::[*/0x01DC/*::]*/: { /* n:\"BrtMargins\", */ f:parse_BrtMargins },\n\t/*::[*/0x01DD/*::]*/: { /* n:\"BrtPrintOptions\" */ },\n\t/*::[*/0x01DE/*::]*/: { /* n:\"BrtPageSetup\" */ },\n\t/*::[*/0x01DF/*::]*/: { /* n:\"BrtBeginHeaderFooter\", */ T:1 },\n\t/*::[*/0x01E0/*::]*/: { /* n:\"BrtEndHeaderFooter\", */ T:-1 },\n\t/*::[*/0x01E1/*::]*/: { /* n:\"BrtBeginSXCrtFormat\", */ T:1 },\n\t/*::[*/0x01E2/*::]*/: { /* n:\"BrtEndSXCrtFormat\", */ T:-1 },\n\t/*::[*/0x01E3/*::]*/: { /* n:\"BrtBeginSXCrtFormats\", */ T:1 },\n\t/*::[*/0x01E4/*::]*/: { /* n:\"BrtEndSXCrtFormats\", */ T:-1 },\n\t/*::[*/0x01E5/*::]*/: { /* n:\"BrtWsFmtInfo\", */ f:parse_BrtWsFmtInfo },\n\t/*::[*/0x01E6/*::]*/: { /* n:\"BrtBeginMgs\", */ T:1 },\n\t/*::[*/0x01E7/*::]*/: { /* n:\"BrtEndMGs\", */ T:-1 },\n\t/*::[*/0x01E8/*::]*/: { /* n:\"BrtBeginMGMaps\", */ T:1 },\n\t/*::[*/0x01E9/*::]*/: { /* n:\"BrtEndMGMaps\", */ T:-1 },\n\t/*::[*/0x01EA/*::]*/: { /* n:\"BrtBeginMG\", */ T:1 },\n\t/*::[*/0x01EB/*::]*/: { /* n:\"BrtEndMG\", */ T:-1 },\n\t/*::[*/0x01EC/*::]*/: { /* n:\"BrtBeginMap\", */ T:1 },\n\t/*::[*/0x01ED/*::]*/: { /* n:\"BrtEndMap\", */ T:-1 },\n\t/*::[*/0x01EE/*::]*/: { /* n:\"BrtHLink\", */ f:parse_BrtHLink },\n\t/*::[*/0x01EF/*::]*/: { /* n:\"BrtBeginDCon\", */ T:1 },\n\t/*::[*/0x01F0/*::]*/: { /* n:\"BrtEndDCon\", */ T:-1 },\n\t/*::[*/0x01F1/*::]*/: { /* n:\"BrtBeginDRefs\", */ T:1 },\n\t/*::[*/0x01F2/*::]*/: { /* n:\"BrtEndDRefs\", */ T:-1 },\n\t/*::[*/0x01F3/*::]*/: { /* n:\"BrtDRef\" */ },\n\t/*::[*/0x01F4/*::]*/: { /* n:\"BrtBeginScenMan\", */ T:1 },\n\t/*::[*/0x01F5/*::]*/: { /* n:\"BrtEndScenMan\", */ T:-1 },\n\t/*::[*/0x01F6/*::]*/: { /* n:\"BrtBeginSct\", */ T:1 },\n\t/*::[*/0x01F7/*::]*/: { /* n:\"BrtEndSct\", */ T:-1 },\n\t/*::[*/0x01F8/*::]*/: { /* n:\"BrtSlc\" */ },\n\t/*::[*/0x01F9/*::]*/: { /* n:\"BrtBeginDXFs\", */ T:1 },\n\t/*::[*/0x01FA/*::]*/: { /* n:\"BrtEndDXFs\", */ T:-1 },\n\t/*::[*/0x01FB/*::]*/: { /* n:\"BrtDXF\" */ },\n\t/*::[*/0x01FC/*::]*/: { /* n:\"BrtBeginTableStyles\", */ T:1 },\n\t/*::[*/0x01FD/*::]*/: { /* n:\"BrtEndTableStyles\", */ T:-1 },\n\t/*::[*/0x01FE/*::]*/: { /* n:\"BrtBeginTableStyle\", */ T:1 },\n\t/*::[*/0x01FF/*::]*/: { /* n:\"BrtEndTableStyle\", */ T:-1 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"BrtTableStyleElement\" */ },\n\t/*::[*/0x0201/*::]*/: { /* n:\"BrtTableStyleClient\" */ },\n\t/*::[*/0x0202/*::]*/: { /* n:\"BrtBeginVolDeps\", */ T:1 },\n\t/*::[*/0x0203/*::]*/: { /* n:\"BrtEndVolDeps\", */ T:-1 },\n\t/*::[*/0x0204/*::]*/: { /* n:\"BrtBeginVolType\", */ T:1 },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BrtEndVolType\", */ T:-1 },\n\t/*::[*/0x0206/*::]*/: { /* n:\"BrtBeginVolMain\", */ T:1 },\n\t/*::[*/0x0207/*::]*/: { /* n:\"BrtEndVolMain\", */ T:-1 },\n\t/*::[*/0x0208/*::]*/: { /* n:\"BrtBeginVolTopic\", */ T:1 },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BrtEndVolTopic\", */ T:-1 },\n\t/*::[*/0x020A/*::]*/: { /* n:\"BrtVolSubtopic\" */ },\n\t/*::[*/0x020B/*::]*/: { /* n:\"BrtVolRef\" */ },\n\t/*::[*/0x020C/*::]*/: { /* n:\"BrtVolNum\" */ },\n\t/*::[*/0x020D/*::]*/: { /* n:\"BrtVolErr\" */ },\n\t/*::[*/0x020E/*::]*/: { /* n:\"BrtVolStr\" */ },\n\t/*::[*/0x020F/*::]*/: { /* n:\"BrtVolBool\" */ },\n\t/*::[*/0x0210/*::]*/: { /* n:\"BrtBeginCalcChain$\", */ T:1 },\n\t/*::[*/0x0211/*::]*/: { /* n:\"BrtEndCalcChain$\", */ T:-1 },\n\t/*::[*/0x0212/*::]*/: { /* n:\"BrtBeginSortState\", */ T:1 },\n\t/*::[*/0x0213/*::]*/: { /* n:\"BrtEndSortState\", */ T:-1 },\n\t/*::[*/0x0214/*::]*/: { /* n:\"BrtBeginSortCond\", */ T:1 },\n\t/*::[*/0x0215/*::]*/: { /* n:\"BrtEndSortCond\", */ T:-1 },\n\t/*::[*/0x0216/*::]*/: { /* n:\"BrtBookProtection\" */ },\n\t/*::[*/0x0217/*::]*/: { /* n:\"BrtSheetProtection\" */ },\n\t/*::[*/0x0218/*::]*/: { /* n:\"BrtRangeProtection\" */ },\n\t/*::[*/0x0219/*::]*/: { /* n:\"BrtPhoneticInfo\" */ },\n\t/*::[*/0x021A/*::]*/: { /* n:\"BrtBeginECTxtWiz\", */ T:1 },\n\t/*::[*/0x021B/*::]*/: { /* n:\"BrtEndECTxtWiz\", */ T:-1 },\n\t/*::[*/0x021C/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst\", */ T:1 },\n\t/*::[*/0x021D/*::]*/: { /* n:\"BrtEndECTWFldInfoLst\", */ T:-1 },\n\t/*::[*/0x021E/*::]*/: { /* n:\"BrtBeginECTwFldInfo\", */ T:1 },\n\t/*::[*/0x0224/*::]*/: { /* n:\"BrtFileSharing\" */ },\n\t/*::[*/0x0225/*::]*/: { /* n:\"BrtOleSize\" */ },\n\t/*::[*/0x0226/*::]*/: { /* n:\"BrtDrawing\", */ f:parse_RelID },\n\t/*::[*/0x0227/*::]*/: { /* n:\"BrtLegacyDrawing\" */ },\n\t/*::[*/0x0228/*::]*/: { /* n:\"BrtLegacyDrawingHF\" */ },\n\t/*::[*/0x0229/*::]*/: { /* n:\"BrtWebOpt\" */ },\n\t/*::[*/0x022A/*::]*/: { /* n:\"BrtBeginWebPubItems\", */ T:1 },\n\t/*::[*/0x022B/*::]*/: { /* n:\"BrtEndWebPubItems\", */ T:-1 },\n\t/*::[*/0x022C/*::]*/: { /* n:\"BrtBeginWebPubItem\", */ T:1 },\n\t/*::[*/0x022D/*::]*/: { /* n:\"BrtEndWebPubItem\", */ T:-1 },\n\t/*::[*/0x022E/*::]*/: { /* n:\"BrtBeginSXCondFmt\", */ T:1 },\n\t/*::[*/0x022F/*::]*/: { /* n:\"BrtEndSXCondFmt\", */ T:-1 },\n\t/*::[*/0x0230/*::]*/: { /* n:\"BrtBeginSXCondFmts\", */ T:1 },\n\t/*::[*/0x0231/*::]*/: { /* n:\"BrtEndSXCondFmts\", */ T:-1 },\n\t/*::[*/0x0232/*::]*/: { /* n:\"BrtBkHim\" */ },\n\t/*::[*/0x0234/*::]*/: { /* n:\"BrtColor\" */ },\n\t/*::[*/0x0235/*::]*/: { /* n:\"BrtBeginIndexedColors\", */ T:1 },\n\t/*::[*/0x0236/*::]*/: { /* n:\"BrtEndIndexedColors\", */ T:-1 },\n\t/*::[*/0x0239/*::]*/: { /* n:\"BrtBeginMRUColors\", */ T:1 },\n\t/*::[*/0x023A/*::]*/: { /* n:\"BrtEndMRUColors\", */ T:-1 },\n\t/*::[*/0x023C/*::]*/: { /* n:\"BrtMRUColor\" */ },\n\t/*::[*/0x023D/*::]*/: { /* n:\"BrtBeginDVals\", */ T:1 },\n\t/*::[*/0x023E/*::]*/: { /* n:\"BrtEndDVals\", */ T:-1 },\n\t/*::[*/0x0241/*::]*/: { /* n:\"BrtSupNameStart\" */ },\n\t/*::[*/0x0242/*::]*/: { /* n:\"BrtSupNameValueStart\" */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BrtSupNameValueEnd\" */ },\n\t/*::[*/0x0244/*::]*/: { /* n:\"BrtSupNameNum\" */ },\n\t/*::[*/0x0245/*::]*/: { /* n:\"BrtSupNameErr\" */ },\n\t/*::[*/0x0246/*::]*/: { /* n:\"BrtSupNameSt\" */ },\n\t/*::[*/0x0247/*::]*/: { /* n:\"BrtSupNameNil\" */ },\n\t/*::[*/0x0248/*::]*/: { /* n:\"BrtSupNameBool\" */ },\n\t/*::[*/0x0249/*::]*/: { /* n:\"BrtSupNameFmla\" */ },\n\t/*::[*/0x024A/*::]*/: { /* n:\"BrtSupNameBits\" */ },\n\t/*::[*/0x024B/*::]*/: { /* n:\"BrtSupNameEnd\" */ },\n\t/*::[*/0x024C/*::]*/: { /* n:\"BrtEndSupBook\", */ T:-1 },\n\t/*::[*/0x024D/*::]*/: { /* n:\"BrtCellSmartTagProperty\" */ },\n\t/*::[*/0x024E/*::]*/: { /* n:\"BrtBeginCellSmartTag\", */ T:1 },\n\t/*::[*/0x024F/*::]*/: { /* n:\"BrtEndCellSmartTag\", */ T:-1 },\n\t/*::[*/0x0250/*::]*/: { /* n:\"BrtBeginCellSmartTags\", */ T:1 },\n\t/*::[*/0x0251/*::]*/: { /* n:\"BrtEndCellSmartTags\", */ T:-1 },\n\t/*::[*/0x0252/*::]*/: { /* n:\"BrtBeginSmartTags\", */ T:1 },\n\t/*::[*/0x0253/*::]*/: { /* n:\"BrtEndSmartTags\", */ T:-1 },\n\t/*::[*/0x0254/*::]*/: { /* n:\"BrtSmartTagType\" */ },\n\t/*::[*/0x0255/*::]*/: { /* n:\"BrtBeginSmartTagTypes\", */ T:1 },\n\t/*::[*/0x0256/*::]*/: { /* n:\"BrtEndSmartTagTypes\", */ T:-1 },\n\t/*::[*/0x0257/*::]*/: { /* n:\"BrtBeginSXFilters\", */ T:1 },\n\t/*::[*/0x0258/*::]*/: { /* n:\"BrtEndSXFilters\", */ T:-1 },\n\t/*::[*/0x0259/*::]*/: { /* n:\"BrtBeginSXFILTER\", */ T:1 },\n\t/*::[*/0x025A/*::]*/: { /* n:\"BrtEndSXFilter\", */ T:-1 },\n\t/*::[*/0x025B/*::]*/: { /* n:\"BrtBeginFills\", */ T:1 },\n\t/*::[*/0x025C/*::]*/: { /* n:\"BrtEndFills\", */ T:-1 },\n\t/*::[*/0x025D/*::]*/: { /* n:\"BrtBeginCellWatches\", */ T:1 },\n\t/*::[*/0x025E/*::]*/: { /* n:\"BrtEndCellWatches\", */ T:-1 },\n\t/*::[*/0x025F/*::]*/: { /* n:\"BrtCellWatch\" */ },\n\t/*::[*/0x0260/*::]*/: { /* n:\"BrtBeginCRErrs\", */ T:1 },\n\t/*::[*/0x0261/*::]*/: { /* n:\"BrtEndCRErrs\", */ T:-1 },\n\t/*::[*/0x0262/*::]*/: { /* n:\"BrtCrashRecErr\" */ },\n\t/*::[*/0x0263/*::]*/: { /* n:\"BrtBeginFonts\", */ T:1 },\n\t/*::[*/0x0264/*::]*/: { /* n:\"BrtEndFonts\", */ T:-1 },\n\t/*::[*/0x0265/*::]*/: { /* n:\"BrtBeginBorders\", */ T:1 },\n\t/*::[*/0x0266/*::]*/: { /* n:\"BrtEndBorders\", */ T:-1 },\n\t/*::[*/0x0267/*::]*/: { /* n:\"BrtBeginFmts\", */ T:1 },\n\t/*::[*/0x0268/*::]*/: { /* n:\"BrtEndFmts\", */ T:-1 },\n\t/*::[*/0x0269/*::]*/: { /* n:\"BrtBeginCellXFs\", */ T:1 },\n\t/*::[*/0x026A/*::]*/: { /* n:\"BrtEndCellXFs\", */ T:-1 },\n\t/*::[*/0x026B/*::]*/: { /* n:\"BrtBeginStyles\", */ T:1 },\n\t/*::[*/0x026C/*::]*/: { /* n:\"BrtEndStyles\", */ T:-1 },\n\t/*::[*/0x0271/*::]*/: { /* n:\"BrtBigName\" */ },\n\t/*::[*/0x0272/*::]*/: { /* n:\"BrtBeginCellStyleXFs\", */ T:1 },\n\t/*::[*/0x0273/*::]*/: { /* n:\"BrtEndCellStyleXFs\", */ T:-1 },\n\t/*::[*/0x0274/*::]*/: { /* n:\"BrtBeginComments\", */ T:1 },\n\t/*::[*/0x0275/*::]*/: { /* n:\"BrtEndComments\", */ T:-1 },\n\t/*::[*/0x0276/*::]*/: { /* n:\"BrtBeginCommentAuthors\", */ T:1 },\n\t/*::[*/0x0277/*::]*/: { /* n:\"BrtEndCommentAuthors\", */ T:-1 },\n\t/*::[*/0x0278/*::]*/: { /* n:\"BrtCommentAuthor\", */ f:parse_BrtCommentAuthor },\n\t/*::[*/0x0279/*::]*/: { /* n:\"BrtBeginCommentList\", */ T:1 },\n\t/*::[*/0x027A/*::]*/: { /* n:\"BrtEndCommentList\", */ T:-1 },\n\t/*::[*/0x027B/*::]*/: { /* n:\"BrtBeginComment\", */ T:1, f:parse_BrtBeginComment},\n\t/*::[*/0x027C/*::]*/: { /* n:\"BrtEndComment\", */ T:-1 },\n\t/*::[*/0x027D/*::]*/: { /* n:\"BrtCommentText\", */ f:parse_BrtCommentText },\n\t/*::[*/0x027E/*::]*/: { /* n:\"BrtBeginOleObjects\", */ T:1 },\n\t/*::[*/0x027F/*::]*/: { /* n:\"BrtOleObject\" */ },\n\t/*::[*/0x0280/*::]*/: { /* n:\"BrtEndOleObjects\", */ T:-1 },\n\t/*::[*/0x0281/*::]*/: { /* n:\"BrtBeginSxrules\", */ T:1 },\n\t/*::[*/0x0282/*::]*/: { /* n:\"BrtEndSxRules\", */ T:-1 },\n\t/*::[*/0x0283/*::]*/: { /* n:\"BrtBeginActiveXControls\", */ T:1 },\n\t/*::[*/0x0284/*::]*/: { /* n:\"BrtActiveX\" */ },\n\t/*::[*/0x0285/*::]*/: { /* n:\"BrtEndActiveXControls\", */ T:-1 },\n\t/*::[*/0x0286/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembersSortBy\", */ T:1 },\n\t/*::[*/0x0288/*::]*/: { /* n:\"BrtBeginCellIgnoreECs\", */ T:1 },\n\t/*::[*/0x0289/*::]*/: { /* n:\"BrtCellIgnoreEC\" */ },\n\t/*::[*/0x028A/*::]*/: { /* n:\"BrtEndCellIgnoreECs\", */ T:-1 },\n\t/*::[*/0x028B/*::]*/: { /* n:\"BrtCsProp\", */ f:parse_BrtCsProp },\n\t/*::[*/0x028C/*::]*/: { /* n:\"BrtCsPageSetup\" */ },\n\t/*::[*/0x028D/*::]*/: { /* n:\"BrtBeginUserCsViews\", */ T:1 },\n\t/*::[*/0x028E/*::]*/: { /* n:\"BrtEndUserCsViews\", */ T:-1 },\n\t/*::[*/0x028F/*::]*/: { /* n:\"BrtBeginUserCsView\", */ T:1 },\n\t/*::[*/0x0290/*::]*/: { /* n:\"BrtEndUserCsView\", */ T:-1 },\n\t/*::[*/0x0291/*::]*/: { /* n:\"BrtBeginPcdSFCIEntries\", */ T:1 },\n\t/*::[*/0x0292/*::]*/: { /* n:\"BrtEndPCDSFCIEntries\", */ T:-1 },\n\t/*::[*/0x0293/*::]*/: { /* n:\"BrtPCDSFCIEntry\" */ },\n\t/*::[*/0x0294/*::]*/: { /* n:\"BrtBeginListParts\", */ T:1 },\n\t/*::[*/0x0295/*::]*/: { /* n:\"BrtListPart\" */ },\n\t/*::[*/0x0296/*::]*/: { /* n:\"BrtEndListParts\", */ T:-1 },\n\t/*::[*/0x0297/*::]*/: { /* n:\"BrtSheetCalcProp\" */ },\n\t/*::[*/0x0298/*::]*/: { /* n:\"BrtBeginFnGroup\", */ T:1 },\n\t/*::[*/0x0299/*::]*/: { /* n:\"BrtFnGroup\" */ },\n\t/*::[*/0x029A/*::]*/: { /* n:\"BrtEndFnGroup\", */ T:-1 },\n\t/*::[*/0x029B/*::]*/: { /* n:\"BrtSupAddin\" */ },\n\t/*::[*/0x029C/*::]*/: { /* n:\"BrtSXTDMPOrder\" */ },\n\t/*::[*/0x029D/*::]*/: { /* n:\"BrtCsProtection\" */ },\n\t/*::[*/0x029F/*::]*/: { /* n:\"BrtBeginWsSortMap\", */ T:1 },\n\t/*::[*/0x02A0/*::]*/: { /* n:\"BrtEndWsSortMap\", */ T:-1 },\n\t/*::[*/0x02A1/*::]*/: { /* n:\"BrtBeginRRSort\", */ T:1 },\n\t/*::[*/0x02A2/*::]*/: { /* n:\"BrtEndRRSort\", */ T:-1 },\n\t/*::[*/0x02A3/*::]*/: { /* n:\"BrtRRSortItem\" */ },\n\t/*::[*/0x02A4/*::]*/: { /* n:\"BrtFileSharingIso\" */ },\n\t/*::[*/0x02A5/*::]*/: { /* n:\"BrtBookProtectionIso\" */ },\n\t/*::[*/0x02A6/*::]*/: { /* n:\"BrtSheetProtectionIso\" */ },\n\t/*::[*/0x02A7/*::]*/: { /* n:\"BrtCsProtectionIso\" */ },\n\t/*::[*/0x02A8/*::]*/: { /* n:\"BrtRangeProtectionIso\" */ },\n\t/*::[*/0x02A9/*::]*/: { /* n:\"BrtDValList\" */ },\n\t/*::[*/0x0400/*::]*/: { /* n:\"BrtRwDescent\" */ },\n\t/*::[*/0x0401/*::]*/: { /* n:\"BrtKnownFonts\" */ },\n\t/*::[*/0x0402/*::]*/: { /* n:\"BrtBeginSXTupleSet\", */ T:1 },\n\t/*::[*/0x0403/*::]*/: { /* n:\"BrtEndSXTupleSet\", */ T:-1 },\n\t/*::[*/0x0404/*::]*/: { /* n:\"BrtBeginSXTupleSetHeader\", */ T:1 },\n\t/*::[*/0x0405/*::]*/: { /* n:\"BrtEndSXTupleSetHeader\", */ T:-1 },\n\t/*::[*/0x0406/*::]*/: { /* n:\"BrtSXTupleSetHeaderItem\" */ },\n\t/*::[*/0x0407/*::]*/: { /* n:\"BrtBeginSXTupleSetData\", */ T:1 },\n\t/*::[*/0x0408/*::]*/: { /* n:\"BrtEndSXTupleSetData\", */ T:-1 },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BrtBeginSXTupleSetRow\", */ T:1 },\n\t/*::[*/0x040A/*::]*/: { /* n:\"BrtEndSXTupleSetRow\", */ T:-1 },\n\t/*::[*/0x040B/*::]*/: { /* n:\"BrtSXTupleSetRowItem\" */ },\n\t/*::[*/0x040C/*::]*/: { /* n:\"BrtNameExt\" */ },\n\t/*::[*/0x040D/*::]*/: { /* n:\"BrtPCDH14\" */ },\n\t/*::[*/0x040E/*::]*/: { /* n:\"BrtBeginPCDCalcMem14\", */ T:1 },\n\t/*::[*/0x040F/*::]*/: { /* n:\"BrtEndPCDCalcMem14\", */ T:-1 },\n\t/*::[*/0x0410/*::]*/: { /* n:\"BrtSXTH14\" */ },\n\t/*::[*/0x0411/*::]*/: { /* n:\"BrtBeginSparklineGroup\", */ T:1 },\n\t/*::[*/0x0412/*::]*/: { /* n:\"BrtEndSparklineGroup\", */ T:-1 },\n\t/*::[*/0x0413/*::]*/: { /* n:\"BrtSparkline\" */ },\n\t/*::[*/0x0414/*::]*/: { /* n:\"BrtSXDI14\" */ },\n\t/*::[*/0x0415/*::]*/: { /* n:\"BrtWsFmtInfoEx14\" */ },\n\t/*::[*/0x0416/*::]*/: { /* n:\"BrtBeginConditionalFormatting14\", */ T:1 },\n\t/*::[*/0x0417/*::]*/: { /* n:\"BrtEndConditionalFormatting14\", */ T:-1 },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BrtBeginCFRule14\", */ T:1 },\n\t/*::[*/0x0419/*::]*/: { /* n:\"BrtEndCFRule14\", */ T:-1 },\n\t/*::[*/0x041A/*::]*/: { /* n:\"BrtCFVO14\" */ },\n\t/*::[*/0x041B/*::]*/: { /* n:\"BrtBeginDatabar14\", */ T:1 },\n\t/*::[*/0x041C/*::]*/: { /* n:\"BrtBeginIconSet14\", */ T:1 },\n\t/*::[*/0x041D/*::]*/: { /* n:\"BrtDVal14\", */ f: parse_BrtDVal14 },\n\t/*::[*/0x041E/*::]*/: { /* n:\"BrtBeginDVals14\", */ T:1 },\n\t/*::[*/0x041F/*::]*/: { /* n:\"BrtColor14\" */ },\n\t/*::[*/0x0420/*::]*/: { /* n:\"BrtBeginSparklines\", */ T:1 },\n\t/*::[*/0x0421/*::]*/: { /* n:\"BrtEndSparklines\", */ T:-1 },\n\t/*::[*/0x0422/*::]*/: { /* n:\"BrtBeginSparklineGroups\", */ T:1 },\n\t/*::[*/0x0423/*::]*/: { /* n:\"BrtEndSparklineGroups\", */ T:-1 },\n\t/*::[*/0x0425/*::]*/: { /* n:\"BrtSXVD14\" */ },\n\t/*::[*/0x0426/*::]*/: { /* n:\"BrtBeginSXView14\", */ T:1 },\n\t/*::[*/0x0427/*::]*/: { /* n:\"BrtEndSXView14\", */ T:-1 },\n\t/*::[*/0x0428/*::]*/: { /* n:\"BrtBeginSXView16\", */ T:1 },\n\t/*::[*/0x0429/*::]*/: { /* n:\"BrtEndSXView16\", */ T:-1 },\n\t/*::[*/0x042A/*::]*/: { /* n:\"BrtBeginPCD14\", */ T:1 },\n\t/*::[*/0x042B/*::]*/: { /* n:\"BrtEndPCD14\", */ T:-1 },\n\t/*::[*/0x042C/*::]*/: { /* n:\"BrtBeginExtConn14\", */ T:1 },\n\t/*::[*/0x042D/*::]*/: { /* n:\"BrtEndExtConn14\", */ T:-1 },\n\t/*::[*/0x042E/*::]*/: { /* n:\"BrtBeginSlicerCacheIDs\", */ T:1 },\n\t/*::[*/0x042F/*::]*/: { /* n:\"BrtEndSlicerCacheIDs\", */ T:-1 },\n\t/*::[*/0x0430/*::]*/: { /* n:\"BrtBeginSlicerCacheID\", */ T:1 },\n\t/*::[*/0x0431/*::]*/: { /* n:\"BrtEndSlicerCacheID\", */ T:-1 },\n\t/*::[*/0x0433/*::]*/: { /* n:\"BrtBeginSlicerCache\", */ T:1 },\n\t/*::[*/0x0434/*::]*/: { /* n:\"BrtEndSlicerCache\", */ T:-1 },\n\t/*::[*/0x0435/*::]*/: { /* n:\"BrtBeginSlicerCacheDef\", */ T:1 },\n\t/*::[*/0x0436/*::]*/: { /* n:\"BrtEndSlicerCacheDef\", */ T:-1 },\n\t/*::[*/0x0437/*::]*/: { /* n:\"BrtBeginSlicersEx\", */ T:1 },\n\t/*::[*/0x0438/*::]*/: { /* n:\"BrtEndSlicersEx\", */ T:-1 },\n\t/*::[*/0x0439/*::]*/: { /* n:\"BrtBeginSlicerEx\", */ T:1 },\n\t/*::[*/0x043A/*::]*/: { /* n:\"BrtEndSlicerEx\", */ T:-1 },\n\t/*::[*/0x043B/*::]*/: { /* n:\"BrtBeginSlicer\", */ T:1 },\n\t/*::[*/0x043C/*::]*/: { /* n:\"BrtEndSlicer\", */ T:-1 },\n\t/*::[*/0x043D/*::]*/: { /* n:\"BrtSlicerCachePivotTables\" */ },\n\t/*::[*/0x043E/*::]*/: { /* n:\"BrtBeginSlicerCacheOlapImpl\", */ T:1 },\n\t/*::[*/0x043F/*::]*/: { /* n:\"BrtEndSlicerCacheOlapImpl\", */ T:-1 },\n\t/*::[*/0x0440/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelsData\", */ T:1 },\n\t/*::[*/0x0441/*::]*/: { /* n:\"BrtEndSlicerCacheLevelsData\", */ T:-1 },\n\t/*::[*/0x0442/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelData\", */ T:1 },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BrtEndSlicerCacheLevelData\", */ T:-1 },\n\t/*::[*/0x0444/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRanges\", */ T:1 },\n\t/*::[*/0x0445/*::]*/: { /* n:\"BrtEndSlicerCacheSiRanges\", */ T:-1 },\n\t/*::[*/0x0446/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRange\", */ T:1 },\n\t/*::[*/0x0447/*::]*/: { /* n:\"BrtEndSlicerCacheSiRange\", */ T:-1 },\n\t/*::[*/0x0448/*::]*/: { /* n:\"BrtSlicerCacheOlapItem\" */ },\n\t/*::[*/0x0449/*::]*/: { /* n:\"BrtBeginSlicerCacheSelections\", */ T:1 },\n\t/*::[*/0x044A/*::]*/: { /* n:\"BrtSlicerCacheSelection\" */ },\n\t/*::[*/0x044B/*::]*/: { /* n:\"BrtEndSlicerCacheSelections\", */ T:-1 },\n\t/*::[*/0x044C/*::]*/: { /* n:\"BrtBeginSlicerCacheNative\", */ T:1 },\n\t/*::[*/0x044D/*::]*/: { /* n:\"BrtEndSlicerCacheNative\", */ T:-1 },\n\t/*::[*/0x044E/*::]*/: { /* n:\"BrtSlicerCacheNativeItem\" */ },\n\t/*::[*/0x044F/*::]*/: { /* n:\"BrtRangeProtection14\" */ },\n\t/*::[*/0x0450/*::]*/: { /* n:\"BrtRangeProtectionIso14\" */ },\n\t/*::[*/0x0451/*::]*/: { /* n:\"BrtCellIgnoreEC14\" */ },\n\t/*::[*/0x0457/*::]*/: { /* n:\"BrtList14\" */ },\n\t/*::[*/0x0458/*::]*/: { /* n:\"BrtCFIcon\" */ },\n\t/*::[*/0x0459/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x045A/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x045B/*::]*/: { /* n:\"BrtBeginSlicers\", */ T:1 },\n\t/*::[*/0x045C/*::]*/: { /* n:\"BrtEndSlicers\", */ T:-1 },\n\t/*::[*/0x045D/*::]*/: { /* n:\"BrtWbProp14\" */ },\n\t/*::[*/0x045E/*::]*/: { /* n:\"BrtBeginSXEdit\", */ T:1 },\n\t/*::[*/0x045F/*::]*/: { /* n:\"BrtEndSXEdit\", */ T:-1 },\n\t/*::[*/0x0460/*::]*/: { /* n:\"BrtBeginSXEdits\", */ T:1 },\n\t/*::[*/0x0461/*::]*/: { /* n:\"BrtEndSXEdits\", */ T:-1 },\n\t/*::[*/0x0462/*::]*/: { /* n:\"BrtBeginSXChange\", */ T:1 },\n\t/*::[*/0x0463/*::]*/: { /* n:\"BrtEndSXChange\", */ T:-1 },\n\t/*::[*/0x0464/*::]*/: { /* n:\"BrtBeginSXChanges\", */ T:1 },\n\t/*::[*/0x0465/*::]*/: { /* n:\"BrtEndSXChanges\", */ T:-1 },\n\t/*::[*/0x0466/*::]*/: { /* n:\"BrtSXTupleItems\" */ },\n\t/*::[*/0x0468/*::]*/: { /* n:\"BrtBeginSlicerStyle\", */ T:1 },\n\t/*::[*/0x0469/*::]*/: { /* n:\"BrtEndSlicerStyle\", */ T:-1 },\n\t/*::[*/0x046A/*::]*/: { /* n:\"BrtSlicerStyleElement\" */ },\n\t/*::[*/0x046B/*::]*/: { /* n:\"BrtBeginStyleSheetExt14\", */ T:1 },\n\t/*::[*/0x046C/*::]*/: { /* n:\"BrtEndStyleSheetExt14\", */ T:-1 },\n\t/*::[*/0x046D/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheID\", */ T:1 },\n\t/*::[*/0x046E/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheID\", */ T:-1 },\n\t/*::[*/0x046F/*::]*/: { /* n:\"BrtBeginConditionalFormattings\", */ T:1 },\n\t/*::[*/0x0470/*::]*/: { /* n:\"BrtEndConditionalFormattings\", */ T:-1 },\n\t/*::[*/0x0471/*::]*/: { /* n:\"BrtBeginPCDCalcMemExt\", */ T:1 },\n\t/*::[*/0x0472/*::]*/: { /* n:\"BrtEndPCDCalcMemExt\", */ T:-1 },\n\t/*::[*/0x0473/*::]*/: { /* n:\"BrtBeginPCDCalcMemsExt\", */ T:1 },\n\t/*::[*/0x0474/*::]*/: { /* n:\"BrtEndPCDCalcMemsExt\", */ T:-1 },\n\t/*::[*/0x0475/*::]*/: { /* n:\"BrtPCDField14\" */ },\n\t/*::[*/0x0476/*::]*/: { /* n:\"BrtBeginSlicerStyles\", */ T:1 },\n\t/*::[*/0x0477/*::]*/: { /* n:\"BrtEndSlicerStyles\", */ T:-1 },\n\t/*::[*/0x0478/*::]*/: { /* n:\"BrtBeginSlicerStyleElements\", */ T:1 },\n\t/*::[*/0x0479/*::]*/: { /* n:\"BrtEndSlicerStyleElements\", */ T:-1 },\n\t/*::[*/0x047A/*::]*/: { /* n:\"BrtCFRuleExt\" */ },\n\t/*::[*/0x047B/*::]*/: { /* n:\"BrtBeginSXCondFmt14\", */ T:1 },\n\t/*::[*/0x047C/*::]*/: { /* n:\"BrtEndSXCondFmt14\", */ T:-1 },\n\t/*::[*/0x047D/*::]*/: { /* n:\"BrtBeginSXCondFmts14\", */ T:1 },\n\t/*::[*/0x047E/*::]*/: { /* n:\"BrtEndSXCondFmts14\", */ T:-1 },\n\t/*::[*/0x0480/*::]*/: { /* n:\"BrtBeginSortCond14\", */ T:1 },\n\t/*::[*/0x0481/*::]*/: { /* n:\"BrtEndSortCond14\", */ T:-1 },\n\t/*::[*/0x0482/*::]*/: { /* n:\"BrtEndDVals14\", */ T:-1 },\n\t/*::[*/0x0483/*::]*/: { /* n:\"BrtEndIconSet14\", */ T:-1 },\n\t/*::[*/0x0484/*::]*/: { /* n:\"BrtEndDatabar14\", */ T:-1 },\n\t/*::[*/0x0485/*::]*/: { /* n:\"BrtBeginColorScale14\", */ T:1 },\n\t/*::[*/0x0486/*::]*/: { /* n:\"BrtEndColorScale14\", */ T:-1 },\n\t/*::[*/0x0487/*::]*/: { /* n:\"BrtBeginSxrules14\", */ T:1 },\n\t/*::[*/0x0488/*::]*/: { /* n:\"BrtEndSxrules14\", */ T:-1 },\n\t/*::[*/0x0489/*::]*/: { /* n:\"BrtBeginPRule14\", */ T:1 },\n\t/*::[*/0x048A/*::]*/: { /* n:\"BrtEndPRule14\", */ T:-1 },\n\t/*::[*/0x048B/*::]*/: { /* n:\"BrtBeginPRFilters14\", */ T:1 },\n\t/*::[*/0x048C/*::]*/: { /* n:\"BrtEndPRFilters14\", */ T:-1 },\n\t/*::[*/0x048D/*::]*/: { /* n:\"BrtBeginPRFilter14\", */ T:1 },\n\t/*::[*/0x048E/*::]*/: { /* n:\"BrtEndPRFilter14\", */ T:-1 },\n\t/*::[*/0x048F/*::]*/: { /* n:\"BrtBeginPRFItem14\", */ T:1 },\n\t/*::[*/0x0490/*::]*/: { /* n:\"BrtEndPRFItem14\", */ T:-1 },\n\t/*::[*/0x0491/*::]*/: { /* n:\"BrtBeginCellIgnoreECs14\", */ T:1 },\n\t/*::[*/0x0492/*::]*/: { /* n:\"BrtEndCellIgnoreECs14\", */ T:-1 },\n\t/*::[*/0x0493/*::]*/: { /* n:\"BrtDxf14\" */ },\n\t/*::[*/0x0494/*::]*/: { /* n:\"BrtBeginDxF14s\", */ T:1 },\n\t/*::[*/0x0495/*::]*/: { /* n:\"BrtEndDxf14s\", */ T:-1 },\n\t/*::[*/0x0499/*::]*/: { /* n:\"BrtFilter14\" */ },\n\t/*::[*/0x049A/*::]*/: { /* n:\"BrtBeginCustomFilters14\", */ T:1 },\n\t/*::[*/0x049C/*::]*/: { /* n:\"BrtCustomFilter14\" */ },\n\t/*::[*/0x049D/*::]*/: { /* n:\"BrtIconFilter14\" */ },\n\t/*::[*/0x049E/*::]*/: { /* n:\"BrtPivotCacheConnectionName\" */ },\n\t/*::[*/0x0800/*::]*/: { /* n:\"BrtBeginDecoupledPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0801/*::]*/: { /* n:\"BrtEndDecoupledPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0802/*::]*/: { /* n:\"BrtDecoupledPivotCacheID\" */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"BrtBeginPivotTableRefs\", */ T:1 },\n\t/*::[*/0x0804/*::]*/: { /* n:\"BrtEndPivotTableRefs\", */ T:-1 },\n\t/*::[*/0x0805/*::]*/: { /* n:\"BrtPivotTableRef\" */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"BrtSlicerCacheBookPivotTables\" */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"BrtBeginSxvcells\", */ T:1 },\n\t/*::[*/0x0808/*::]*/: { /* n:\"BrtEndSxvcells\", */ T:-1 },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BrtBeginSxRow\", */ T:1 },\n\t/*::[*/0x080A/*::]*/: { /* n:\"BrtEndSxRow\", */ T:-1 },\n\t/*::[*/0x080C/*::]*/: { /* n:\"BrtPcdCalcMem15\" */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"BrtQsi15\" */ },\n\t/*::[*/0x0814/*::]*/: { /* n:\"BrtBeginWebExtensions\", */ T:1 },\n\t/*::[*/0x0815/*::]*/: { /* n:\"BrtEndWebExtensions\", */ T:-1 },\n\t/*::[*/0x0816/*::]*/: { /* n:\"BrtWebExtension\" */ },\n\t/*::[*/0x0817/*::]*/: { /* n:\"BrtAbsPath15\" */ },\n\t/*::[*/0x0818/*::]*/: { /* n:\"BrtBeginPivotTableUISettings\", */ T:1 },\n\t/*::[*/0x0819/*::]*/: { /* n:\"BrtEndPivotTableUISettings\", */ T:-1 },\n\t/*::[*/0x081B/*::]*/: { /* n:\"BrtTableSlicerCacheIDs\" */ },\n\t/*::[*/0x081C/*::]*/: { /* n:\"BrtTableSlicerCacheID\" */ },\n\t/*::[*/0x081D/*::]*/: { /* n:\"BrtBeginTableSlicerCache\", */ T:1 },\n\t/*::[*/0x081E/*::]*/: { /* n:\"BrtEndTableSlicerCache\", */ T:-1 },\n\t/*::[*/0x081F/*::]*/: { /* n:\"BrtSxFilter15\" */ },\n\t/*::[*/0x0820/*::]*/: { /* n:\"BrtBeginTimelineCachePivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0821/*::]*/: { /* n:\"BrtEndTimelineCachePivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0822/*::]*/: { /* n:\"BrtTimelineCachePivotCacheID\" */ },\n\t/*::[*/0x0823/*::]*/: { /* n:\"BrtBeginTimelineCacheIDs\", */ T:1 },\n\t/*::[*/0x0824/*::]*/: { /* n:\"BrtEndTimelineCacheIDs\", */ T:-1 },\n\t/*::[*/0x0825/*::]*/: { /* n:\"BrtBeginTimelineCacheID\", */ T:1 },\n\t/*::[*/0x0826/*::]*/: { /* n:\"BrtEndTimelineCacheID\", */ T:-1 },\n\t/*::[*/0x0827/*::]*/: { /* n:\"BrtBeginTimelinesEx\", */ T:1 },\n\t/*::[*/0x0828/*::]*/: { /* n:\"BrtEndTimelinesEx\", */ T:-1 },\n\t/*::[*/0x0829/*::]*/: { /* n:\"BrtBeginTimelineEx\", */ T:1 },\n\t/*::[*/0x082A/*::]*/: { /* n:\"BrtEndTimelineEx\", */ T:-1 },\n\t/*::[*/0x082B/*::]*/: { /* n:\"BrtWorkBookPr15\" */ },\n\t/*::[*/0x082C/*::]*/: { /* n:\"BrtPCDH15\" */ },\n\t/*::[*/0x082D/*::]*/: { /* n:\"BrtBeginTimelineStyle\", */ T:1 },\n\t/*::[*/0x082E/*::]*/: { /* n:\"BrtEndTimelineStyle\", */ T:-1 },\n\t/*::[*/0x082F/*::]*/: { /* n:\"BrtTimelineStyleElement\" */ },\n\t/*::[*/0x0830/*::]*/: { /* n:\"BrtBeginTimelineStylesheetExt15\", */ T:1 },\n\t/*::[*/0x0831/*::]*/: { /* n:\"BrtEndTimelineStylesheetExt15\", */ T:-1 },\n\t/*::[*/0x0832/*::]*/: { /* n:\"BrtBeginTimelineStyles\", */ T:1 },\n\t/*::[*/0x0833/*::]*/: { /* n:\"BrtEndTimelineStyles\", */ T:-1 },\n\t/*::[*/0x0834/*::]*/: { /* n:\"BrtBeginTimelineStyleElements\", */ T:1 },\n\t/*::[*/0x0835/*::]*/: { /* n:\"BrtEndTimelineStyleElements\", */ T:-1 },\n\t/*::[*/0x0836/*::]*/: { /* n:\"BrtDxf15\" */ },\n\t/*::[*/0x0837/*::]*/: { /* n:\"BrtBeginDxfs15\", */ T:1 },\n\t/*::[*/0x0838/*::]*/: { /* n:\"BrtEndDxfs15\", */ T:-1 },\n\t/*::[*/0x0839/*::]*/: { /* n:\"BrtSlicerCacheHideItemsWithNoData\" */ },\n\t/*::[*/0x083A/*::]*/: { /* n:\"BrtBeginItemUniqueNames\", */ T:1 },\n\t/*::[*/0x083B/*::]*/: { /* n:\"BrtEndItemUniqueNames\", */ T:-1 },\n\t/*::[*/0x083C/*::]*/: { /* n:\"BrtItemUniqueName\" */ },\n\t/*::[*/0x083D/*::]*/: { /* n:\"BrtBeginExtConn15\", */ T:1 },\n\t/*::[*/0x083E/*::]*/: { /* n:\"BrtEndExtConn15\", */ T:-1 },\n\t/*::[*/0x083F/*::]*/: { /* n:\"BrtBeginOledbPr15\", */ T:1 },\n\t/*::[*/0x0840/*::]*/: { /* n:\"BrtEndOledbPr15\", */ T:-1 },\n\t/*::[*/0x0841/*::]*/: { /* n:\"BrtBeginDataFeedPr15\", */ T:1 },\n\t/*::[*/0x0842/*::]*/: { /* n:\"BrtEndDataFeedPr15\", */ T:-1 },\n\t/*::[*/0x0843/*::]*/: { /* n:\"BrtTextPr15\" */ },\n\t/*::[*/0x0844/*::]*/: { /* n:\"BrtRangePr15\" */ },\n\t/*::[*/0x0845/*::]*/: { /* n:\"BrtDbCommand15\" */ },\n\t/*::[*/0x0846/*::]*/: { /* n:\"BrtBeginDbTables15\", */ T:1 },\n\t/*::[*/0x0847/*::]*/: { /* n:\"BrtEndDbTables15\", */ T:-1 },\n\t/*::[*/0x0848/*::]*/: { /* n:\"BrtDbTable15\" */ },\n\t/*::[*/0x0849/*::]*/: { /* n:\"BrtBeginDataModel\", */ T:1 },\n\t/*::[*/0x084A/*::]*/: { /* n:\"BrtEndDataModel\", */ T:-1 },\n\t/*::[*/0x084B/*::]*/: { /* n:\"BrtBeginModelTables\", */ T:1 },\n\t/*::[*/0x084C/*::]*/: { /* n:\"BrtEndModelTables\", */ T:-1 },\n\t/*::[*/0x084D/*::]*/: { /* n:\"BrtModelTable\" */ },\n\t/*::[*/0x084E/*::]*/: { /* n:\"BrtBeginModelRelationships\", */ T:1 },\n\t/*::[*/0x084F/*::]*/: { /* n:\"BrtEndModelRelationships\", */ T:-1 },\n\t/*::[*/0x0850/*::]*/: { /* n:\"BrtModelRelationship\" */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"BrtBeginECTxtWiz15\", */ T:1 },\n\t/*::[*/0x0852/*::]*/: { /* n:\"BrtEndECTxtWiz15\", */ T:-1 },\n\t/*::[*/0x0853/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst15\", */ T:1 },\n\t/*::[*/0x0854/*::]*/: { /* n:\"BrtEndECTWFldInfoLst15\", */ T:-1 },\n\t/*::[*/0x0855/*::]*/: { /* n:\"BrtBeginECTWFldInfo15\", */ T:1 },\n\t/*::[*/0x0856/*::]*/: { /* n:\"BrtFieldListActiveItem\" */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"BrtPivotCacheIdVersion\" */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"BrtSXDI15\" */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"BrtBeginModelTimeGroupings\", */ T:1 },\n\t/*::[*/0x085A/*::]*/: { /* n:\"BrtEndModelTimeGroupings\", */ T:-1 },\n\t/*::[*/0x085B/*::]*/: { /* n:\"BrtBeginModelTimeGrouping\", */ T:1 },\n\t/*::[*/0x085C/*::]*/: { /* n:\"BrtEndModelTimeGrouping\", */ T:-1 },\n\t/*::[*/0x085D/*::]*/: { /* n:\"BrtModelTimeGroupingCalcCol\" */ },\n\t/*::[*/0x0C00/*::]*/: { /* n:\"BrtUid\" */ },\n\t/*::[*/0x0C01/*::]*/: { /* n:\"BrtRevisionPtr\" */ },\n\t/*::[*/0x1000/*::]*/: { /* n:\"BrtBeginDynamicArrayPr\", */ T:1 },\n\t/*::[*/0x1001/*::]*/: { /* n:\"BrtEndDynamicArrayPr\", */ T:-1 },\n\t/*::[*/0x138A/*::]*/: { /* n:\"BrtBeginRichValueBlock\", */ T:1 },\n\t/*::[*/0x138B/*::]*/: { /* n:\"BrtEndRichValueBlock\", */ T:-1 },\n\t/*::[*/0x13D9/*::]*/: { /* n:\"BrtBeginRichFilters\", */ T:1 },\n\t/*::[*/0x13DA/*::]*/: { /* n:\"BrtEndRichFilters\", */ T:-1 },\n\t/*::[*/0x13DB/*::]*/: { /* n:\"BrtRichFilter\" */ },\n\t/*::[*/0x13DC/*::]*/: { /* n:\"BrtBeginRichFilterColumn\", */ T:1 },\n\t/*::[*/0x13DD/*::]*/: { /* n:\"BrtEndRichFilterColumn\", */ T:-1 },\n\t/*::[*/0x13DE/*::]*/: { /* n:\"BrtBeginCustomRichFilters\", */ T:1 },\n\t/*::[*/0x13DF/*::]*/: { /* n:\"BrtEndCustomRichFilters\", */ T:-1 },\n\t/*::[*/0x13E0/*::]*/: { /* n:\"BrtCustomRichFilter\" */ },\n\t/*::[*/0x13E1/*::]*/: { /* n:\"BrtTop10RichFilter\" */ },\n\t/*::[*/0x13E2/*::]*/: { /* n:\"BrtDynamicRichFilter\" */ },\n\t/*::[*/0x13E4/*::]*/: { /* n:\"BrtBeginRichSortCondition\", */ T:1 },\n\t/*::[*/0x13E5/*::]*/: { /* n:\"BrtEndRichSortCondition\", */ T:-1 },\n\t/*::[*/0x13E6/*::]*/: { /* n:\"BrtRichFilterDateGroupItem\" */ },\n\t/*::[*/0x13E7/*::]*/: { /* n:\"BrtBeginCalcFeatures\", */ T:1 },\n\t/*::[*/0x13E8/*::]*/: { /* n:\"BrtEndCalcFeatures\", */ T:-1 },\n\t/*::[*/0x13E9/*::]*/: { /* n:\"BrtCalcFeature\" */ },\n\t/*::[*/0x13EB/*::]*/: { /* n:\"BrtExternalLinksPr\" */ },\n\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n};\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n\t/*::[*/0x0006/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x000a/*::]*/: { /* n:\"EOF\", */ f:parsenoop2 },\n\t/*::[*/0x000c/*::]*/: { /* n:\"CalcCount\", */ f:parseuint16 }, //\n\t/*::[*/0x000d/*::]*/: { /* n:\"CalcMode\", */ f:parseuint16 }, //\n\t/*::[*/0x000e/*::]*/: { /* n:\"CalcPrecision\", */ f:parsebool }, //\n\t/*::[*/0x000f/*::]*/: { /* n:\"CalcRefMode\", */ f:parsebool }, //\n\t/*::[*/0x0010/*::]*/: { /* n:\"CalcDelta\", */ f:parse_Xnum }, //\n\t/*::[*/0x0011/*::]*/: { /* n:\"CalcIter\", */ f:parsebool }, //\n\t/*::[*/0x0012/*::]*/: { /* n:\"Protect\", */ f:parsebool },\n\t/*::[*/0x0013/*::]*/: { /* n:\"Password\", */ f:parseuint16 },\n\t/*::[*/0x0014/*::]*/: { /* n:\"Header\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0015/*::]*/: { /* n:\"Footer\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0017/*::]*/: { /* n:\"ExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x0018/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0019/*::]*/: { /* n:\"WinProtect\", */ f:parsebool },\n\t/*::[*/0x001a/*::]*/: { /* n:\"VerticalPageBreaks\", */ },\n\t/*::[*/0x001b/*::]*/: { /* n:\"HorizontalPageBreaks\", */ },\n\t/*::[*/0x001c/*::]*/: { /* n:\"Note\", */ f:parse_Note },\n\t/*::[*/0x001d/*::]*/: { /* n:\"Selection\", */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"Date1904\", */ f:parsebool },\n\t/*::[*/0x0023/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0026/*::]*/: { /* n:\"LeftMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0027/*::]*/: { /* n:\"RightMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0028/*::]*/: { /* n:\"TopMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0029/*::]*/: { /* n:\"BottomMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x002a/*::]*/: { /* n:\"PrintRowCol\", */ f:parsebool },\n\t/*::[*/0x002b/*::]*/: { /* n:\"PrintGrid\", */ f:parsebool },\n\t/*::[*/0x002f/*::]*/: { /* n:\"FilePass\", */ f:parse_FilePass },\n\t/*::[*/0x0031/*::]*/: { /* n:\"Font\", */ f:parse_Font },\n\t/*::[*/0x0033/*::]*/: { /* n:\"PrintSize\", */ f:parseuint16 },\n\t/*::[*/0x003c/*::]*/: { /* n:\"Continue\", */ },\n\t/*::[*/0x003d/*::]*/: { /* n:\"Window1\", */ f:parse_Window1 },\n\t/*::[*/0x0040/*::]*/: { /* n:\"Backup\", */ f:parsebool },\n\t/*::[*/0x0041/*::]*/: { /* n:\"Pane\", */ f:parse_Pane },\n\t/*::[*/0x0042/*::]*/: { /* n:\"CodePage\", */ f:parseuint16 },\n\t/*::[*/0x004d/*::]*/: { /* n:\"Pls\", */ },\n\t/*::[*/0x0050/*::]*/: { /* n:\"DCon\", */ },\n\t/*::[*/0x0051/*::]*/: { /* n:\"DConRef\", */ },\n\t/*::[*/0x0052/*::]*/: { /* n:\"DConName\", */ },\n\t/*::[*/0x0055/*::]*/: { /* n:\"DefColWidth\", */ f:parseuint16 },\n\t/*::[*/0x0059/*::]*/: { /* n:\"XCT\", */ },\n\t/*::[*/0x005a/*::]*/: { /* n:\"CRN\", */ },\n\t/*::[*/0x005b/*::]*/: { /* n:\"FileSharing\", */ },\n\t/*::[*/0x005c/*::]*/: { /* n:\"WriteAccess\", */ f:parse_WriteAccess },\n\t/*::[*/0x005d/*::]*/: { /* n:\"Obj\", */ f:parse_Obj },\n\t/*::[*/0x005e/*::]*/: { /* n:\"Uncalced\", */ },\n\t/*::[*/0x005f/*::]*/: { /* n:\"CalcSaveRecalc\", */ f:parsebool }, //\n\t/*::[*/0x0060/*::]*/: { /* n:\"Template\", */ },\n\t/*::[*/0x0061/*::]*/: { /* n:\"Intl\", */ },\n\t/*::[*/0x0063/*::]*/: { /* n:\"ObjProtect\", */ f:parsebool },\n\t/*::[*/0x007d/*::]*/: { /* n:\"ColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x0080/*::]*/: { /* n:\"Guts\", */ f:parse_Guts },\n\t/*::[*/0x0081/*::]*/: { /* n:\"WsBool\", */ f:parse_WsBool },\n\t/*::[*/0x0082/*::]*/: { /* n:\"GridSet\", */ f:parseuint16 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"HCenter\", */ f:parsebool },\n\t/*::[*/0x0084/*::]*/: { /* n:\"VCenter\", */ f:parsebool },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BoundSheet8\", */ f:parse_BoundSheet8 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"WriteProtect\", */ },\n\t/*::[*/0x008c/*::]*/: { /* n:\"Country\", */ f:parse_Country },\n\t/*::[*/0x008d/*::]*/: { /* n:\"HideObj\", */ f:parseuint16 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"Sort\", */ },\n\t/*::[*/0x0092/*::]*/: { /* n:\"Palette\", */ f:parse_Palette },\n\t/*::[*/0x0097/*::]*/: { /* n:\"Sync\", */ },\n\t/*::[*/0x0098/*::]*/: { /* n:\"LPr\", */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"DxGCol\", */ },\n\t/*::[*/0x009a/*::]*/: { /* n:\"FnGroupName\", */ },\n\t/*::[*/0x009b/*::]*/: { /* n:\"FilterMode\", */ },\n\t/*::[*/0x009c/*::]*/: { /* n:\"BuiltInFnGroupCount\", */ f:parseuint16 },\n\t/*::[*/0x009d/*::]*/: { /* n:\"AutoFilterInfo\", */ },\n\t/*::[*/0x009e/*::]*/: { /* n:\"AutoFilter\", */ },\n\t/*::[*/0x00a0/*::]*/: { /* n:\"Scl\", */ f:parse_Scl },\n\t/*::[*/0x00a1/*::]*/: { /* n:\"Setup\", */ f:parse_Setup },\n\t/*::[*/0x00ae/*::]*/: { /* n:\"ScenMan\", */ },\n\t/*::[*/0x00af/*::]*/: { /* n:\"SCENARIO\", */ },\n\t/*::[*/0x00b0/*::]*/: { /* n:\"SxView\", */ },\n\t/*::[*/0x00b1/*::]*/: { /* n:\"Sxvd\", */ },\n\t/*::[*/0x00b2/*::]*/: { /* n:\"SXVI\", */ },\n\t/*::[*/0x00b4/*::]*/: { /* n:\"SxIvd\", */ },\n\t/*::[*/0x00b5/*::]*/: { /* n:\"SXLI\", */ },\n\t/*::[*/0x00b6/*::]*/: { /* n:\"SXPI\", */ },\n\t/*::[*/0x00b8/*::]*/: { /* n:\"DocRoute\", */ },\n\t/*::[*/0x00b9/*::]*/: { /* n:\"RecipName\", */ },\n\t/*::[*/0x00bd/*::]*/: { /* n:\"MulRk\", */ f:parse_MulRk },\n\t/*::[*/0x00be/*::]*/: { /* n:\"MulBlank\", */ f:parse_MulBlank },\n\t/*::[*/0x00c1/*::]*/: { /* n:\"Mms\", */ f:parsenoop2 },\n\t/*::[*/0x00c5/*::]*/: { /* n:\"SXDI\", */ },\n\t/*::[*/0x00c6/*::]*/: { /* n:\"SXDB\", */ },\n\t/*::[*/0x00c7/*::]*/: { /* n:\"SXFDB\", */ },\n\t/*::[*/0x00c8/*::]*/: { /* n:\"SXDBB\", */ },\n\t/*::[*/0x00c9/*::]*/: { /* n:\"SXNum\", */ },\n\t/*::[*/0x00ca/*::]*/: { /* n:\"SxBool\", */ f:parsebool },\n\t/*::[*/0x00cb/*::]*/: { /* n:\"SxErr\", */ },\n\t/*::[*/0x00cc/*::]*/: { /* n:\"SXInt\", */ },\n\t/*::[*/0x00cd/*::]*/: { /* n:\"SXString\", */ },\n\t/*::[*/0x00ce/*::]*/: { /* n:\"SXDtr\", */ },\n\t/*::[*/0x00cf/*::]*/: { /* n:\"SxNil\", */ },\n\t/*::[*/0x00d0/*::]*/: { /* n:\"SXTbl\", */ },\n\t/*::[*/0x00d1/*::]*/: { /* n:\"SXTBRGIITM\", */ },\n\t/*::[*/0x00d2/*::]*/: { /* n:\"SxTbpg\", */ },\n\t/*::[*/0x00d3/*::]*/: { /* n:\"ObProj\", */ },\n\t/*::[*/0x00d5/*::]*/: { /* n:\"SXStreamID\", */ },\n\t/*::[*/0x00d7/*::]*/: { /* n:\"DBCell\", */ },\n\t/*::[*/0x00d8/*::]*/: { /* n:\"SXRng\", */ },\n\t/*::[*/0x00d9/*::]*/: { /* n:\"SxIsxoper\", */ },\n\t/*::[*/0x00da/*::]*/: { /* n:\"BookBool\", */ f:parseuint16 },\n\t/*::[*/0x00dc/*::]*/: { /* n:\"DbOrParamQry\", */ },\n\t/*::[*/0x00dd/*::]*/: { /* n:\"ScenarioProtect\", */ f:parsebool },\n\t/*::[*/0x00de/*::]*/: { /* n:\"OleObjectSize\", */ },\n\t/*::[*/0x00e0/*::]*/: { /* n:\"XF\", */ f:parse_XF },\n\t/*::[*/0x00e1/*::]*/: { /* n:\"InterfaceHdr\", */ f:parse_InterfaceHdr },\n\t/*::[*/0x00e2/*::]*/: { /* n:\"InterfaceEnd\", */ f:parsenoop2 },\n\t/*::[*/0x00e3/*::]*/: { /* n:\"SXVS\", */ },\n\t/*::[*/0x00e5/*::]*/: { /* n:\"MergeCells\", */ f:parse_MergeCells },\n\t/*::[*/0x00e9/*::]*/: { /* n:\"BkHim\", */ },\n\t/*::[*/0x00eb/*::]*/: { /* n:\"MsoDrawingGroup\", */ },\n\t/*::[*/0x00ec/*::]*/: { /* n:\"MsoDrawing\", */ },\n\t/*::[*/0x00ed/*::]*/: { /* n:\"MsoDrawingSelection\", */ },\n\t/*::[*/0x00ef/*::]*/: { /* n:\"PhoneticInfo\", */ },\n\t/*::[*/0x00f0/*::]*/: { /* n:\"SxRule\", */ },\n\t/*::[*/0x00f1/*::]*/: { /* n:\"SXEx\", */ },\n\t/*::[*/0x00f2/*::]*/: { /* n:\"SxFilt\", */ },\n\t/*::[*/0x00f4/*::]*/: { /* n:\"SxDXF\", */ },\n\t/*::[*/0x00f5/*::]*/: { /* n:\"SxItm\", */ },\n\t/*::[*/0x00f6/*::]*/: { /* n:\"SxName\", */ },\n\t/*::[*/0x00f7/*::]*/: { /* n:\"SxSelect\", */ },\n\t/*::[*/0x00f8/*::]*/: { /* n:\"SXPair\", */ },\n\t/*::[*/0x00f9/*::]*/: { /* n:\"SxFmla\", */ },\n\t/*::[*/0x00fb/*::]*/: { /* n:\"SxFormat\", */ },\n\t/*::[*/0x00fc/*::]*/: { /* n:\"SST\", */ f:parse_SST },\n\t/*::[*/0x00fd/*::]*/: { /* n:\"LabelSst\", */ f:parse_LabelSst },\n\t/*::[*/0x00ff/*::]*/: { /* n:\"ExtSST\", */ f:parse_ExtSST },\n\t/*::[*/0x0100/*::]*/: { /* n:\"SXVDEx\", */ },\n\t/*::[*/0x0103/*::]*/: { /* n:\"SXFormula\", */ },\n\t/*::[*/0x0122/*::]*/: { /* n:\"SXDBEx\", */ },\n\t/*::[*/0x0137/*::]*/: { /* n:\"RRDInsDel\", */ },\n\t/*::[*/0x0138/*::]*/: { /* n:\"RRDHead\", */ },\n\t/*::[*/0x013b/*::]*/: { /* n:\"RRDChgCell\", */ },\n\t/*::[*/0x013d/*::]*/: { /* n:\"RRTabId\", */ f:parseuint16a },\n\t/*::[*/0x013e/*::]*/: { /* n:\"RRDRenSheet\", */ },\n\t/*::[*/0x013f/*::]*/: { /* n:\"RRSort\", */ },\n\t/*::[*/0x0140/*::]*/: { /* n:\"RRDMove\", */ },\n\t/*::[*/0x014a/*::]*/: { /* n:\"RRFormat\", */ },\n\t/*::[*/0x014b/*::]*/: { /* n:\"RRAutoFmt\", */ },\n\t/*::[*/0x014d/*::]*/: { /* n:\"RRInsertSh\", */ },\n\t/*::[*/0x014e/*::]*/: { /* n:\"RRDMoveBegin\", */ },\n\t/*::[*/0x014f/*::]*/: { /* n:\"RRDMoveEnd\", */ },\n\t/*::[*/0x0150/*::]*/: { /* n:\"RRDInsDelBegin\", */ },\n\t/*::[*/0x0151/*::]*/: { /* n:\"RRDInsDelEnd\", */ },\n\t/*::[*/0x0152/*::]*/: { /* n:\"RRDConflict\", */ },\n\t/*::[*/0x0153/*::]*/: { /* n:\"RRDDefName\", */ },\n\t/*::[*/0x0154/*::]*/: { /* n:\"RRDRstEtxp\", */ },\n\t/*::[*/0x015f/*::]*/: { /* n:\"LRng\", */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"UsesELFs\", */ f:parsebool },\n\t/*::[*/0x0161/*::]*/: { /* n:\"DSF\", */ f:parsenoop2 },\n\t/*::[*/0x0191/*::]*/: { /* n:\"CUsr\", */ },\n\t/*::[*/0x0192/*::]*/: { /* n:\"CbUsr\", */ },\n\t/*::[*/0x0193/*::]*/: { /* n:\"UsrInfo\", */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"UsrExcl\", */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"FileLock\", */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"RRDInfo\", */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BCUsrs\", */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"UsrChk\", */ },\n\t/*::[*/0x01a9/*::]*/: { /* n:\"UserBView\", */ },\n\t/*::[*/0x01aa/*::]*/: { /* n:\"UserSViewBegin\", */ },\n\t/*::[*/0x01ab/*::]*/: { /* n:\"UserSViewEnd\", */ },\n\t/*::[*/0x01ac/*::]*/: { /* n:\"RRDUserView\", */ },\n\t/*::[*/0x01ad/*::]*/: { /* n:\"Qsi\", */ },\n\t/*::[*/0x01ae/*::]*/: { /* n:\"SupBook\", */ f:parse_SupBook },\n\t/*::[*/0x01af/*::]*/: { /* n:\"Prot4Rev\", */ f:parsebool },\n\t/*::[*/0x01b0/*::]*/: { /* n:\"CondFmt\", */ },\n\t/*::[*/0x01b1/*::]*/: { /* n:\"CF\", */ },\n\t/*::[*/0x01b2/*::]*/: { /* n:\"DVal\", */ },\n\t/*::[*/0x01b5/*::]*/: { /* n:\"DConBin\", */ },\n\t/*::[*/0x01b6/*::]*/: { /* n:\"TxO\", */ f:parse_TxO },\n\t/*::[*/0x01b7/*::]*/: { /* n:\"RefreshAll\", */ f:parsebool }, //\n\t/*::[*/0x01b8/*::]*/: { /* n:\"HLink\", */ f:parse_HLink },\n\t/*::[*/0x01b9/*::]*/: { /* n:\"Lel\", */ },\n\t/*::[*/0x01ba/*::]*/: { /* n:\"CodeName\", */ f:parse_XLUnicodeString },\n\t/*::[*/0x01bb/*::]*/: { /* n:\"SXFDBType\", */ },\n\t/*::[*/0x01bc/*::]*/: { /* n:\"Prot4RevPass\", */ f:parseuint16 },\n\t/*::[*/0x01bd/*::]*/: { /* n:\"ObNoMacros\", */ },\n\t/*::[*/0x01be/*::]*/: { /* n:\"Dv\", */ },\n\t/*::[*/0x01c0/*::]*/: { /* n:\"Excel9File\", */ f:parsenoop2 },\n\t/*::[*/0x01c1/*::]*/: { /* n:\"RecalcId\", */ f:parse_RecalcId, r:2},\n\t/*::[*/0x01c2/*::]*/: { /* n:\"EntExU2\", */ f:parsenoop2 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0201/*::]*/: { /* n:\"Blank\", */ f:parse_Blank },\n\t/*::[*/0x0203/*::]*/: { /* n:\"Number\", */ f:parse_Number },\n\t/*::[*/0x0204/*::]*/: { /* n:\"Label\", */ f:parse_Label },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0207/*::]*/: { /* n:\"String\", */ f:parse_String },\n\t/*::[*/0x0208/*::]*/: { /* n:\"Row\", */ f:parse_Row },\n\t/*::[*/0x020b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0221/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0225/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t/*::[*/0x0236/*::]*/: { /* n:\"Table\", */ },\n\t/*::[*/0x023e/*::]*/: { /* n:\"Window2\", */ f:parse_Window2 },\n\t/*::[*/0x027e/*::]*/: { /* n:\"RK\", */ f:parse_RK },\n\t/*::[*/0x0293/*::]*/: { /* n:\"Style\", */ },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BigName\", */ },\n\t/*::[*/0x041e/*::]*/: { /* n:\"Format\", */ f:parse_Format },\n\t/*::[*/0x043c/*::]*/: { /* n:\"ContinueBigName\", */ },\n\t/*::[*/0x04bc/*::]*/: { /* n:\"ShrFmla\", */ f:parse_ShrFmla },\n\t/*::[*/0x0800/*::]*/: { /* n:\"HLinkTooltip\", */ f:parse_HLinkTooltip },\n\t/*::[*/0x0801/*::]*/: { /* n:\"WebPub\", */ },\n\t/*::[*/0x0802/*::]*/: { /* n:\"QsiSXTag\", */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"DBQueryExt\", */ },\n\t/*::[*/0x0804/*::]*/: { /* n:\"ExtString\", */ },\n\t/*::[*/0x0805/*::]*/: { /* n:\"TxtQry\", */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"Qsir\", */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"Qsif\", */ },\n\t/*::[*/0x0808/*::]*/: { /* n:\"RRDTQSIF\", */ },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x080a/*::]*/: { /* n:\"OleDbConn\", */ },\n\t/*::[*/0x080b/*::]*/: { /* n:\"WOpt\", */ },\n\t/*::[*/0x080c/*::]*/: { /* n:\"SXViewEx\", */ },\n\t/*::[*/0x080d/*::]*/: { /* n:\"SXTH\", */ },\n\t/*::[*/0x080e/*::]*/: { /* n:\"SXPIEx\", */ },\n\t/*::[*/0x080f/*::]*/: { /* n:\"SXVDTEx\", */ },\n\t/*::[*/0x0810/*::]*/: { /* n:\"SXViewEx9\", */ },\n\t/*::[*/0x0812/*::]*/: { /* n:\"ContinueFrt\", */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"RealTimeData\", */ },\n\t/*::[*/0x0850/*::]*/: { /* n:\"ChartFrtInfo\", */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"FrtWrapper\", */ },\n\t/*::[*/0x0852/*::]*/: { /* n:\"StartBlock\", */ },\n\t/*::[*/0x0853/*::]*/: { /* n:\"EndBlock\", */ },\n\t/*::[*/0x0854/*::]*/: { /* n:\"StartObject\", */ },\n\t/*::[*/0x0855/*::]*/: { /* n:\"EndObject\", */ },\n\t/*::[*/0x0856/*::]*/: { /* n:\"CatLab\", */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"YMult\", */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"SXViewLink\", */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"PivotChartBits\", */ },\n\t/*::[*/0x085a/*::]*/: { /* n:\"FrtFontList\", */ },\n\t/*::[*/0x0862/*::]*/: { /* n:\"SheetExt\", */ },\n\t/*::[*/0x0863/*::]*/: { /* n:\"BookExt\", */ r:12},\n\t/*::[*/0x0864/*::]*/: { /* n:\"SXAddl\", */ },\n\t/*::[*/0x0865/*::]*/: { /* n:\"CrErr\", */ },\n\t/*::[*/0x0866/*::]*/: { /* n:\"HFPicture\", */ },\n\t/*::[*/0x0867/*::]*/: { /* n:\"FeatHdr\", */ f:parsenoop2 },\n\t/*::[*/0x0868/*::]*/: { /* n:\"Feat\", */ },\n\t/*::[*/0x086a/*::]*/: { /* n:\"DataLabExt\", */ },\n\t/*::[*/0x086b/*::]*/: { /* n:\"DataLabExtContents\", */ },\n\t/*::[*/0x086c/*::]*/: { /* n:\"CellWatch\", */ },\n\t/*::[*/0x0871/*::]*/: { /* n:\"FeatHdr11\", */ },\n\t/*::[*/0x0872/*::]*/: { /* n:\"Feature11\", */ },\n\t/*::[*/0x0874/*::]*/: { /* n:\"DropDownObjIds\", */ },\n\t/*::[*/0x0875/*::]*/: { /* n:\"ContinueFrt11\", */ },\n\t/*::[*/0x0876/*::]*/: { /* n:\"DConn\", */ },\n\t/*::[*/0x0877/*::]*/: { /* n:\"List12\", */ },\n\t/*::[*/0x0878/*::]*/: { /* n:\"Feature12\", */ },\n\t/*::[*/0x0879/*::]*/: { /* n:\"CondFmt12\", */ },\n\t/*::[*/0x087a/*::]*/: { /* n:\"CF12\", */ },\n\t/*::[*/0x087b/*::]*/: { /* n:\"CFEx\", */ },\n\t/*::[*/0x087c/*::]*/: { /* n:\"XFCRC\", */ f:parse_XFCRC, r:12 },\n\t/*::[*/0x087d/*::]*/: { /* n:\"XFExt\", */ f:parse_XFExt, r:12 },\n\t/*::[*/0x087e/*::]*/: { /* n:\"AutoFilter12\", */ },\n\t/*::[*/0x087f/*::]*/: { /* n:\"ContinueFrt12\", */ },\n\t/*::[*/0x0884/*::]*/: { /* n:\"MDTInfo\", */ },\n\t/*::[*/0x0885/*::]*/: { /* n:\"MDXStr\", */ },\n\t/*::[*/0x0886/*::]*/: { /* n:\"MDXTuple\", */ },\n\t/*::[*/0x0887/*::]*/: { /* n:\"MDXSet\", */ },\n\t/*::[*/0x0888/*::]*/: { /* n:\"MDXProp\", */ },\n\t/*::[*/0x0889/*::]*/: { /* n:\"MDXKPI\", */ },\n\t/*::[*/0x088a/*::]*/: { /* n:\"MDB\", */ },\n\t/*::[*/0x088b/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x088c/*::]*/: { /* n:\"Compat12\", */ f:parsebool, r:12 },\n\t/*::[*/0x088d/*::]*/: { /* n:\"DXF\", */ },\n\t/*::[*/0x088e/*::]*/: { /* n:\"TableStyles\", */ r:12 },\n\t/*::[*/0x088f/*::]*/: { /* n:\"TableStyle\", */ },\n\t/*::[*/0x0890/*::]*/: { /* n:\"TableStyleElement\", */ },\n\t/*::[*/0x0892/*::]*/: { /* n:\"StyleExt\", */ },\n\t/*::[*/0x0893/*::]*/: { /* n:\"NamePublish\", */ },\n\t/*::[*/0x0894/*::]*/: { /* n:\"NameCmt\", */ f:parse_NameCmt, r:12 },\n\t/*::[*/0x0895/*::]*/: { /* n:\"SortData\", */ },\n\t/*::[*/0x0896/*::]*/: { /* n:\"Theme\", */ f:parse_Theme, r:12 },\n\t/*::[*/0x0897/*::]*/: { /* n:\"GUIDTypeLib\", */ },\n\t/*::[*/0x0898/*::]*/: { /* n:\"FnGrp12\", */ },\n\t/*::[*/0x0899/*::]*/: { /* n:\"NameFnGrp12\", */ },\n\t/*::[*/0x089a/*::]*/: { /* n:\"MTRSettings\", */ f:parse_MTRSettings, r:12 },\n\t/*::[*/0x089b/*::]*/: { /* n:\"CompressPictures\", */ f:parsenoop2 },\n\t/*::[*/0x089c/*::]*/: { /* n:\"HeaderFooter\", */ },\n\t/*::[*/0x089d/*::]*/: { /* n:\"CrtLayout12\", */ },\n\t/*::[*/0x089e/*::]*/: { /* n:\"CrtMlFrt\", */ },\n\t/*::[*/0x089f/*::]*/: { /* n:\"CrtMlFrtContinue\", */ },\n\t/*::[*/0x08a3/*::]*/: { /* n:\"ForceFullCalculation\", */ f:parse_ForceFullCalculation },\n\t/*::[*/0x08a4/*::]*/: { /* n:\"ShapePropsStream\", */ },\n\t/*::[*/0x08a5/*::]*/: { /* n:\"TextPropsStream\", */ },\n\t/*::[*/0x08a6/*::]*/: { /* n:\"RichTextStream\", */ },\n\t/*::[*/0x08a7/*::]*/: { /* n:\"CrtLayout12A\", */ },\n\t/*::[*/0x1001/*::]*/: { /* n:\"Units\", */ },\n\t/*::[*/0x1002/*::]*/: { /* n:\"Chart\", */ },\n\t/*::[*/0x1003/*::]*/: { /* n:\"Series\", */ },\n\t/*::[*/0x1006/*::]*/: { /* n:\"DataFormat\", */ },\n\t/*::[*/0x1007/*::]*/: { /* n:\"LineFormat\", */ },\n\t/*::[*/0x1009/*::]*/: { /* n:\"MarkerFormat\", */ },\n\t/*::[*/0x100a/*::]*/: { /* n:\"AreaFormat\", */ },\n\t/*::[*/0x100b/*::]*/: { /* n:\"PieFormat\", */ },\n\t/*::[*/0x100c/*::]*/: { /* n:\"AttachedLabel\", */ },\n\t/*::[*/0x100d/*::]*/: { /* n:\"SeriesText\", */ },\n\t/*::[*/0x1014/*::]*/: { /* n:\"ChartFormat\", */ },\n\t/*::[*/0x1015/*::]*/: { /* n:\"Legend\", */ },\n\t/*::[*/0x1016/*::]*/: { /* n:\"SeriesList\", */ },\n\t/*::[*/0x1017/*::]*/: { /* n:\"Bar\", */ },\n\t/*::[*/0x1018/*::]*/: { /* n:\"Line\", */ },\n\t/*::[*/0x1019/*::]*/: { /* n:\"Pie\", */ },\n\t/*::[*/0x101a/*::]*/: { /* n:\"Area\", */ },\n\t/*::[*/0x101b/*::]*/: { /* n:\"Scatter\", */ },\n\t/*::[*/0x101c/*::]*/: { /* n:\"CrtLine\", */ },\n\t/*::[*/0x101d/*::]*/: { /* n:\"Axis\", */ },\n\t/*::[*/0x101e/*::]*/: { /* n:\"Tick\", */ },\n\t/*::[*/0x101f/*::]*/: { /* n:\"ValueRange\", */ },\n\t/*::[*/0x1020/*::]*/: { /* n:\"CatSerRange\", */ },\n\t/*::[*/0x1021/*::]*/: { /* n:\"AxisLine\", */ },\n\t/*::[*/0x1022/*::]*/: { /* n:\"CrtLink\", */ },\n\t/*::[*/0x1024/*::]*/: { /* n:\"DefaultText\", */ },\n\t/*::[*/0x1025/*::]*/: { /* n:\"Text\", */ },\n\t/*::[*/0x1026/*::]*/: { /* n:\"FontX\", */ f:parseuint16 },\n\t/*::[*/0x1027/*::]*/: { /* n:\"ObjectLink\", */ },\n\t/*::[*/0x1032/*::]*/: { /* n:\"Frame\", */ },\n\t/*::[*/0x1033/*::]*/: { /* n:\"Begin\", */ },\n\t/*::[*/0x1034/*::]*/: { /* n:\"End\", */ },\n\t/*::[*/0x1035/*::]*/: { /* n:\"PlotArea\", */ },\n\t/*::[*/0x103a/*::]*/: { /* n:\"Chart3d\", */ },\n\t/*::[*/0x103c/*::]*/: { /* n:\"PicF\", */ },\n\t/*::[*/0x103d/*::]*/: { /* n:\"DropBar\", */ },\n\t/*::[*/0x103e/*::]*/: { /* n:\"Radar\", */ },\n\t/*::[*/0x103f/*::]*/: { /* n:\"Surf\", */ },\n\t/*::[*/0x1040/*::]*/: { /* n:\"RadarArea\", */ },\n\t/*::[*/0x1041/*::]*/: { /* n:\"AxisParent\", */ },\n\t/*::[*/0x1043/*::]*/: { /* n:\"LegendException\", */ },\n\t/*::[*/0x1044/*::]*/: { /* n:\"ShtProps\", */ f:parse_ShtProps },\n\t/*::[*/0x1045/*::]*/: { /* n:\"SerToCrt\", */ },\n\t/*::[*/0x1046/*::]*/: { /* n:\"AxesUsed\", */ },\n\t/*::[*/0x1048/*::]*/: { /* n:\"SBaseRef\", */ },\n\t/*::[*/0x104a/*::]*/: { /* n:\"SerParent\", */ },\n\t/*::[*/0x104b/*::]*/: { /* n:\"SerAuxTrend\", */ },\n\t/*::[*/0x104e/*::]*/: { /* n:\"IFmtRecord\", */ },\n\t/*::[*/0x104f/*::]*/: { /* n:\"Pos\", */ },\n\t/*::[*/0x1050/*::]*/: { /* n:\"AlRuns\", */ },\n\t/*::[*/0x1051/*::]*/: { /* n:\"BRAI\", */ },\n\t/*::[*/0x105b/*::]*/: { /* n:\"SerAuxErrBar\", */ },\n\t/*::[*/0x105c/*::]*/: { /* n:\"ClrtClient\", */ f:parse_ClrtClient },\n\t/*::[*/0x105d/*::]*/: { /* n:\"SerFmt\", */ },\n\t/*::[*/0x105f/*::]*/: { /* n:\"Chart3DBarShape\", */ },\n\t/*::[*/0x1060/*::]*/: { /* n:\"Fbi\", */ },\n\t/*::[*/0x1061/*::]*/: { /* n:\"BopPop\", */ },\n\t/*::[*/0x1062/*::]*/: { /* n:\"AxcExt\", */ },\n\t/*::[*/0x1063/*::]*/: { /* n:\"Dat\", */ },\n\t/*::[*/0x1064/*::]*/: { /* n:\"PlotGrowth\", */ },\n\t/*::[*/0x1065/*::]*/: { /* n:\"SIIndex\", */ },\n\t/*::[*/0x1066/*::]*/: { /* n:\"GelFrame\", */ },\n\t/*::[*/0x1067/*::]*/: { /* n:\"BopPopCustom\", */ },\n\t/*::[*/0x1068/*::]*/: { /* n:\"Fbi2\", */ },\n\n\t/*::[*/0x0000/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BIFF2BLANK\", */ },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BIFF2INT\", */ f:parse_BIFF2INT },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BIFF2NUM\", */ f:parse_BIFF2NUM },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BIFF2STR\", */ f:parse_BIFF2STR },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0007/*::]*/: { /* n:\"String\", */ f:parse_BIFF2STRING },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BIFF2ROW\", */ },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x000b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"ExternCount\", */ f:parseuint16 },\n\t/*::[*/0x001e/*::]*/: { /* n:\"BIFF2FORMAT\", */ f:parse_BIFF2Format },\n\t/*::[*/0x001f/*::]*/: { /* n:\"BIFF2FMTCNT\", */ }, /* 16-bit cnt of BIFF2FORMAT records */\n\t/*::[*/0x0020/*::]*/: { /* n:\"BIFF2COLINFO\", */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0024/*::]*/: { /* n:\"COLWIDTH\", */ },\n\t/*::[*/0x0025/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t// 0x2c ??\n\t// 0x2d ??\n\t// 0x2e ??\n\t// 0x30 FONTCOUNT: number of fonts\n\t/*::[*/0x0032/*::]*/: { /* n:\"BIFF2FONTXTRA\", */ f:parse_BIFF2FONTXTRA },\n\t// 0x35: INFOOPTS\n\t// 0x36: TABLE (BIFF2 only)\n\t// 0x37: TABLE2 (BIFF2 only)\n\t// 0x38: WNDESK\n\t// 0x39 ??\n\t// 0x3a: BEGINPREF\n\t// 0x3b: ENDPREF\n\t/*::[*/0x003e/*::]*/: { /* n:\"BIFF2WINDOW2\", */ },\n\t// 0x3f ??\n\t// 0x46: SHOWSCROLL\n\t// 0x47: SHOWFORMULA\n\t// 0x48: STATUSBAR\n\t// 0x49: SHORTMENUS\n\t// 0x4A:\n\t// 0x4B:\n\t// 0x4C:\n\t// 0x4E:\n\t// 0x4F:\n\t// 0x58: TOOLBAR (BIFF3)\n\n\t/* - - - */\n\t/*::[*/0x0034/*::]*/: { /* n:\"DDEObjName\", */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BIFF2XF\", */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BIFF2XFINDEX\", */ f:parseuint16 },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BIFF2FONTCLR\", */ },\n\t/*::[*/0x0056/*::]*/: { /* n:\"BIFF4FMTCNT\", */ }, /* 16-bit cnt, similar to BIFF2 */\n\t/*::[*/0x007e/*::]*/: { /* n:\"RK\", */ }, /* Not necessarily same as 0x027e */\n\t/*::[*/0x007f/*::]*/: { /* n:\"ImData\", */ f:parse_ImData },\n\t/*::[*/0x0087/*::]*/: { /* n:\"Addin\", */ },\n\t/*::[*/0x0088/*::]*/: { /* n:\"Edg\", */ },\n\t/*::[*/0x0089/*::]*/: { /* n:\"Pub\", */ },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t// 0x8F\n\t/*::[*/0x0091/*::]*/: { /* n:\"Sub\", */ },\n\t// 0x93 STYLE\n\t/*::[*/0x0094/*::]*/: { /* n:\"LHRecord\", */ },\n\t/*::[*/0x0095/*::]*/: { /* n:\"LHNGraph\", */ },\n\t/*::[*/0x0096/*::]*/: { /* n:\"Sound\", */ },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n\t/*::[*/0x00a9/*::]*/: { /* n:\"CoordList\", */ },\n\t/*::[*/0x00ab/*::]*/: { /* n:\"GCW\", */ },\n\t/*::[*/0x00bc/*::]*/: { /* n:\"ShrFmla\", */ }, /* Not necessarily same as 0x04bc */\n\t/*::[*/0x00bf/*::]*/: { /* n:\"ToolbarHdr\", */ },\n\t/*::[*/0x00c0/*::]*/: { /* n:\"ToolbarEnd\", */ },\n\t/*::[*/0x00c2/*::]*/: { /* n:\"AddMenu\", */ },\n\t/*::[*/0x00c3/*::]*/: { /* n:\"DelMenu\", */ },\n\t/*::[*/0x00d6/*::]*/: { /* n:\"RString\", */ f:parse_RString },\n\t/*::[*/0x00df/*::]*/: { /* n:\"UDDesc\", */ },\n\t/*::[*/0x00ea/*::]*/: { /* n:\"TabIdConf\", */ },\n\t/*::[*/0x0162/*::]*/: { /* n:\"XL5Modify\", */ },\n\t/*::[*/0x01a5/*::]*/: { /* n:\"FileSharing2\", */ },\n\t/*::[*/0x0206/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0218/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0223/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0231/*::]*/: { /* n:\"Font\", */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BIFF3XF\", */ },\n\t/*::[*/0x0406/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BIFF4XF\", */ },\n\t/*::[*/0x086d/*::]*/: { /* n:\"FeatInfo\", */ },\n\t/*::[*/0x0873/*::]*/: { /* n:\"FeatInfo11\", */ },\n\t/*::[*/0x0881/*::]*/: { /* n:\"SXAddl12\", */ },\n\t/*::[*/0x08c0/*::]*/: { /* n:\"AutoWebPub\", */ },\n\t/*::[*/0x08c1/*::]*/: { /* n:\"ListObj\", */ },\n\t/*::[*/0x08c2/*::]*/: { /* n:\"ListField\", */ },\n\t/*::[*/0x08c3/*::]*/: { /* n:\"ListDV\", */ },\n\t/*::[*/0x08c4/*::]*/: { /* n:\"ListCondFmt\", */ },\n\t/*::[*/0x08c5/*::]*/: { /* n:\"ListCF\", */ },\n\t/*::[*/0x08c6/*::]*/: { /* n:\"FMQry\", */ },\n\t/*::[*/0x08c7/*::]*/: { /* n:\"FMSQry\", */ },\n\t/*::[*/0x08c8/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x08c9/*::]*/: { /* n:\"LnExt\", */ },\n\t/*::[*/0x08ca/*::]*/: { /* n:\"MkrExt\", */ },\n\t/*::[*/0x08cb/*::]*/: { /* n:\"CrtCoopt\", */ },\n\t/*::[*/0x08d6/*::]*/: { /* n:\"FRTArchId$\", */ r:12 },\n\n\t/*::[*/0x7262/*::]*/: {}\n};\n\nfunction write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar t/*:number*/ = type;\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = type;\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r/*:number*/, c/*:number*/) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||\"\").slice(0,255)));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref/*:string*/, rr = \"\", cols/*:Array*/ = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i*/ = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1));\n\twrite_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100));\n\twrite_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true));\n\twrite_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false));\n\twrite_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001));\n\twrite_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true));\n\twrite_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false));\n\twrite_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false));\n\twrite_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1));\n\twrite_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, 0x0083 /* HCenter */, writebool(false));\n\twrite_biff_rec(ba, 0x0084 /* VCenter */, writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"]);\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname/*:string*/ = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, 0x000a /* EOF */);\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) {\n\tvar A = buf_array();\n\tvar _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/);\n\tvar _sheets/*:Array*/ = (_WB.Sheets||[]);\n\tvar _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:\"ThisWorkbook\"*/}/*:: ):any)*/;\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, 0x0087 /* Addin */);\n\twrite_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2));\n\tif(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */);\n\tif(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */);\n\twrite_biff_rec(A, 0x00e2 /* InterfaceEnd */);\n\twrite_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01c0 /* Excel9File */);\n\twrite_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */);\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname/*:string*/ = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, 0x0019 /* WinProtect */, writebool(false));\n\twrite_biff_rec(A, 0x0012 /* Protect */, writebool(false));\n\twrite_biff_rec(A, 0x0013 /* Password */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false));\n\tif(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0));\n\twrite_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts));\n\twrite_biff_rec(A, 0x0040 /* Backup */, writebool(false));\n\twrite_biff_rec(A, 0x008d /* HideObj */, writeuint16(0));\n\twrite_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true));\n\tif(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false));\n\twrite_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, 0x008C, write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, 0x00FC, write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, 0x000A /* EOF */);\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/);\n\t\twrite_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn bconcat(out);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn bconcat(bufs);\n}\n\nfunction write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nfunction html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tstr = str.replace(//g, \"\");\n\tvar mtch/*:any*/ = str.match(/\");\n\tvar mtch2/*:any*/ = str.match(/<\\/table/i);\n\tvar i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;\n\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\tvar R = -1, C = 0, RS = 0, CS = 0;\n\tvar range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\tvar merges/*:Array*/ = [];\n\tfor(i = 0; i < rows.length; ++i) {\n\t\tvar row = rows[i].trim();\n\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\tif(hd == \"/i);\n\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\tvar cell = cells[j].trim();\n\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar _merge/*:Range*/ = merges[midx];\n\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t}\n\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar _t/*:string*/ = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t/* TODO: generate stub cells */\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tm = htmldecode(m);\n\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tvar o/*:Cell*/ = {t:'s', v:m};\n\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\to = ({t:'d', v:parseDate(m)}/*:any*/);\n\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\tC += CS;\n\t\t}\n\t}\n\tws['!ref'] = encode_range(range);\n\tif(merges.length) ws[\"!merges\"] = merges;\n\treturn ws;\n}\nfunction make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar M/*:Array*/ = (ws['!merges'] ||[]);\n\tvar oo/*:Array*/ = [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar RS = 0, CS = 0;\n\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t}\n\t\tif(RS < 0) continue;\n\t\tvar coord = encode_cell({r:R,c:C});\n\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t/* TODO: html entities */\n\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\tvar sp = ({}/*:any*/);\n\t\tif(RS > 1) sp.rowspan = RS;\n\t\tif(CS > 1) sp.colspan = CS;\n\t\tif(o.editable) w = '' + w + '';\n\t\telse if(cell) {\n\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\tif(cell.v != null) sp[\"data-v\"] = cell.v;\n\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t}\n\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\too.push(writextag('td', w, sp));\n\t}\n\tvar preamble = \"\";\n\treturn preamble + oo.join(\"\") + \"\";\n}\n\nvar HTML_BEGIN = 'SheetJS Table Export';\nvar HTML_END = '';\n\nfunction html_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\tvar mtch = str.match(/[\\s\\S]*?<\\/table>/gi);\n\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
\");\n\tif(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\tvar wb = book_new();\n\tmtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\treturn wb;\n}\n\nfunction make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\treturn out.join(\"\") + '';\n}\n\nfunction sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ {\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tvar out/*:Array*/ = [header];\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tout.push(make_html_preamble(ws, r, o));\n\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\tout.push(\"
\" + footer);\n\treturn out.join(\"\");\n}\n\nfunction sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\n\tvar rows/*:HTMLCollection*/ = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range/*:Range*/ = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges/*:Array*/ = [], midx = 0;\n\tvar rowinfo/*:Array*/ = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row/*:HTMLTableRowElement*/ = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts/*:HTMLCollection*/ = (row.children/*:any*/);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt/*:HTMLTableCellElement*/ = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m/*:Range*/ = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o/*:Cell*/ = {t:'s', v:v};\n\t\t\tvar _t/*:string*/ = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)}/*:any*/);\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\") o.l = ({ Target: l });\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ {\n\tvar display/*:string*/ = '';\n\tvar get_computed_style/*:?function*/ = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style && element.style.display;\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nfunction parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ {\n\t/* 6.1.2 White Space Characters */\n\tvar fixed = text\n\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t.replace(//g,\" \")\n\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t.replace(//g,\"\\n\");\n\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\treturn [v];\n}\n\nvar number_formats_ods = {\n\t/* ods name: [short ssf fmt, long ssf fmt] */\n\tday: [\"d\", \"dd\"],\n\tmonth: [\"m\", \"mm\"],\n\tyear: [\"y\", \"yy\"],\n\thours: [\"h\", \"hh\"],\n\tminutes: [\"m\", \"mm\"],\n\tseconds: [\"s\", \"ss\"],\n\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\tera: [\"e\", \"ee\"],\n\t/* there is no native representation of LO \"Q\" format */\n\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n};\n\n\nfunction parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state/*:Array*/ = [], tmp;\n\t\tvar tag/*:: = {}*/;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag/*:: = {name:\"\", '名称':\"\"}*/;\n\t\tvar rowtag/*:: = {'行号':\"\"}*/;\n\t\tvar Sheets = {}, SheetNames/*:Array*/ = [];\n\t\tvar ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar Rn, q/*:: :any = ({t:\"\", v:null, z:null, w:\"\",c:[],}:any)*/;\n\t\tvar ctag = ({value:\"\"}/*:any*/);\n\t\tvar textp = \"\", textpidx = 0, textptag/*:: = {}*/;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({}/*:any*/);\n\t\tvar _Ref/*:[string, string]*/ = [\"\", \"\"];\n\t\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({}/*:any*/);\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); }\n\t\t\t\t\t\t\tq.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {/*:: t:\"\", v:null, z:null, w:\"\",c:[]*/};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({}/*:any*/);\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) /*::(*/comment/*:: :any)*/.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/);\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso(/*::wb, opts*/) {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text/*:string*/)/*:string*/ {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"
\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb/*:Workbook*/, i/*:number*//*::, opts*/)/*:string*/ {\n\t\t/* Section 9 Tables */\n\t\tvar o/*:Array*/ = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o/*:Array*/, wb) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/office:document-meta/g, \"office:meta\"));\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\twrite_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb/*:any*/, opts/*:any*/) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest/*:Array >*/ = [];\n\tvar rdf/*:Array<[string, string]>*/ = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\n/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */\nfunction u8_to_dataview(array) {\n return new DataView(array.buffer, array.byteOffset, array.byteLength);\n}\nfunction u8str(u8) {\n return typeof TextDecoder != \"undefined\" ? new TextDecoder().decode(u8) : utf8read(a2s(u8));\n}\nfunction stru8(str) {\n return typeof TextEncoder != \"undefined\" ? new TextEncoder().encode(str) : s2a(utf8write(str));\n}\nfunction u8contains(body, search) {\n outer:\n for (var L = 0; L <= body.length - search.length; ++L) {\n for (var j = 0; j < search.length; ++j)\n if (body[L + j] != search[j])\n continue outer;\n return true;\n }\n return false;\n}\nfunction u8concat(u8a) {\n var len = u8a.reduce(function(acc, x) {\n return acc + x.length;\n }, 0);\n var out = new Uint8Array(len);\n var off = 0;\n u8a.forEach(function(u8) {\n out.set(u8, off);\n off += u8.length;\n });\n return out;\n}\nfunction popcnt(x) {\n x -= x >> 1 & 1431655765;\n x = (x & 858993459) + (x >> 2 & 858993459);\n return (x + (x >> 4) & 252645135) * 16843009 >>> 24;\n}\nfunction readDecimal128LE(buf, offset) {\n var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1;\n var mantissa = buf[offset + 14] & 1;\n for (var j = offset + 13; j >= offset; --j)\n mantissa = mantissa * 256 + buf[j];\n return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176);\n}\nfunction writeDecimal128LE(buf, offset, value) {\n var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 20;\n var mantissa = value / Math.pow(10, exp - 6176);\n buf[offset + 15] |= exp >> 7;\n buf[offset + 14] |= (exp & 127) << 1;\n for (var i = 0; mantissa >= 1; ++i, mantissa /= 256)\n buf[offset + i] = mantissa & 255;\n buf[offset + 15] |= value >= 0 ? 0 : 128;\n}\nfunction parse_varint49(buf, ptr) {\n var l = ptr ? ptr[0] : 0;\n var usz = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n usz |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 28);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 35);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 42);\n ++l;\n if (buf[l++] < 128)\n break varint;\n }\n if (ptr)\n ptr[0] = l;\n return usz;\n}\nfunction write_varint49(v) {\n var usz = new Uint8Array(7);\n usz[0] = v & 127;\n var L = 1;\n sz:\n if (v > 127) {\n usz[L - 1] |= 128;\n usz[L] = v >> 7 & 127;\n ++L;\n if (v <= 16383)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 14 & 127;\n ++L;\n if (v <= 2097151)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 21 & 127;\n ++L;\n if (v <= 268435455)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 256 >>> 21 & 127;\n ++L;\n if (v <= 34359738367)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 65536 >>> 21 & 127;\n ++L;\n if (v <= 4398046511103)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 16777216 >>> 21 & 127;\n ++L;\n }\n return usz.slice(0, L);\n}\nfunction varint_to_i32(buf) {\n var l = 0, i32 = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n i32 |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 28;\n }\n return i32;\n}\nfunction parse_shallow(buf) {\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var off = ptr[0];\n var num = parse_varint49(buf, ptr);\n var type = num & 7;\n num = Math.floor(num / 8);\n var len = 0;\n var res;\n if (num == 0)\n break;\n switch (type) {\n case 0:\n {\n var l = ptr[0];\n while (buf[ptr[0]++] >= 128)\n ;\n res = buf.slice(l, ptr[0]);\n }\n break;\n case 5:\n len = 4;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 1:\n len = 8;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 2:\n len = parse_varint49(buf, ptr);\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 3:\n case 4:\n default:\n throw new Error(\"PB Type \".concat(type, \" for Field \").concat(num, \" at offset \").concat(off));\n }\n var v = { data: res, type: type };\n if (out[num] == null)\n out[num] = [v];\n else\n out[num].push(v);\n }\n return out;\n}\nfunction write_shallow(proto) {\n var out = [];\n proto.forEach(function(field, idx) {\n field.forEach(function(item) {\n if (!item.data)\n return;\n out.push(write_varint49(idx * 8 + item.type));\n if (item.type == 2)\n out.push(write_varint49(item.data.length));\n out.push(item.data);\n });\n });\n return u8concat(out);\n}\nfunction mappa(data, cb) {\n return (data == null ? void 0 : data.map(function(d) {\n return cb(d.data);\n })) || [];\n}\nfunction parse_iwa_file(buf) {\n var _a;\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var len = parse_varint49(buf, ptr);\n var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n var res = {\n id: varint_to_i32(ai[1][0].data),\n messages: []\n };\n ai[2].forEach(function(b) {\n var mi = parse_shallow(b.data);\n var fl = varint_to_i32(mi[3][0].data);\n res.messages.push({\n meta: mi,\n data: buf.slice(ptr[0], ptr[0] + fl)\n });\n ptr[0] += fl;\n });\n if ((_a = ai[3]) == null ? void 0 : _a[0])\n res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0;\n out.push(res);\n }\n return out;\n}\nfunction write_iwa_file(ias) {\n var bufs = [];\n ias.forEach(function(ia) {\n var ai = [];\n ai[1] = [{ data: write_varint49(ia.id), type: 0 }];\n ai[2] = [];\n if (ia.merge != null)\n ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }];\n var midata = [];\n ia.messages.forEach(function(mi) {\n midata.push(mi.data);\n mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];\n ai[2].push({ data: write_shallow(mi.meta), type: 2 });\n });\n var aipayload = write_shallow(ai);\n bufs.push(write_varint49(aipayload.length));\n bufs.push(aipayload);\n midata.forEach(function(mid) {\n return bufs.push(mid);\n });\n });\n return u8concat(bufs);\n}\nfunction parse_snappy_chunk(type, buf) {\n if (type != 0)\n throw new Error(\"Unexpected Snappy chunk type \".concat(type));\n var ptr = [0];\n var usz = parse_varint49(buf, ptr);\n var chunks = [];\n while (ptr[0] < buf.length) {\n var tag = buf[ptr[0]] & 3;\n if (tag == 0) {\n var len = buf[ptr[0]++] >> 2;\n if (len < 60)\n ++len;\n else {\n var c = len - 59;\n len = buf[ptr[0]];\n if (c > 1)\n len |= buf[ptr[0] + 1] << 8;\n if (c > 2)\n len |= buf[ptr[0] + 2] << 16;\n if (c > 3)\n len |= buf[ptr[0] + 3] << 24;\n len >>>= 0;\n len++;\n ptr[0] += c;\n }\n chunks.push(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n continue;\n } else {\n var offset = 0, length = 0;\n if (tag == 1) {\n length = (buf[ptr[0]] >> 2 & 7) + 4;\n offset = (buf[ptr[0]++] & 224) << 3;\n offset |= buf[ptr[0]++];\n } else {\n length = (buf[ptr[0]++] >> 2) + 1;\n if (tag == 2) {\n offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8;\n ptr[0] += 2;\n } else {\n offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0;\n ptr[0] += 4;\n }\n }\n chunks = [u8concat(chunks)];\n if (offset == 0)\n throw new Error(\"Invalid offset 0\");\n if (offset > chunks[0].length)\n throw new Error(\"Invalid offset beyond length\");\n if (length >= offset) {\n chunks.push(chunks[0].slice(-offset));\n length -= offset;\n while (length >= chunks[chunks.length - 1].length) {\n chunks.push(chunks[chunks.length - 1]);\n length -= chunks[chunks.length - 1].length;\n }\n }\n chunks.push(chunks[0].slice(-offset, -offset + length));\n }\n }\n var o = u8concat(chunks);\n if (o.length != usz)\n throw new Error(\"Unexpected length: \".concat(o.length, \" != \").concat(usz));\n return o;\n}\nfunction decompress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var t = buf[l++];\n var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16;\n l += 3;\n out.push(parse_snappy_chunk(t, buf.slice(l, l + len)));\n l += len;\n }\n if (l !== buf.length)\n throw new Error(\"data is not a valid framed stream!\");\n return u8concat(out);\n}\nfunction compress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var c = Math.min(buf.length - l, 268435455);\n var frame = new Uint8Array(4);\n out.push(frame);\n var usz = write_varint49(c);\n var L = usz.length;\n out.push(usz);\n if (c <= 60) {\n L++;\n out.push(new Uint8Array([c - 1 << 2]));\n } else if (c <= 256) {\n L += 2;\n out.push(new Uint8Array([240, c - 1 & 255]));\n } else if (c <= 65536) {\n L += 3;\n out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255]));\n } else if (c <= 16777216) {\n L += 4;\n out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255]));\n } else if (c <= 4294967296) {\n L += 5;\n out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255]));\n }\n out.push(buf.slice(l, l + c));\n L += c;\n frame[0] = 0;\n frame[1] = L & 255;\n frame[2] = L >> 8 & 255;\n frame[3] = L >> 16 & 255;\n l += c;\n }\n return u8concat(out);\n}\nfunction parse_old_storage(buf, sst, rsst, v) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var data_offset = (v > 1 ? 12 : 8) + popcnt(flags & (v > 1 ? 3470 : 398)) * 4;\n var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 512) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n data_offset += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4;\n if (flags & 16) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 32) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 64) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n var ret;\n switch (buf[2]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: ieee };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else if (sidx > -1)\n ret = { t: \"s\", v: sst[sidx] };\n else if (!isNaN(ieee))\n ret = { t: \"n\", v: ieee };\n else\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction parse_new_storage(buf, sst, rsst) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(8, true);\n var data_offset = 12;\n var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 1) {\n d128 = readDecimal128LE(buf, data_offset);\n data_offset += 16;\n }\n if (flags & 2) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 4) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n if (flags & 8) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 16) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n var ret;\n switch (buf[1]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: d128 };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n break;\n case 10:\n ret = { t: \"n\", v: d128 };\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction write_new_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 5;\n switch (cell.t) {\n case \"n\":\n out[1] = 2;\n writeDecimal128LE(out, l, cell.v);\n flags |= 1;\n l += 16;\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 2;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[1] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 8;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(8, flags, true);\n return out.slice(0, l);\n}\nfunction write_old_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 3;\n switch (cell.t) {\n case \"n\":\n out[2] = 2;\n dv.setFloat64(l, cell.v, true);\n flags |= 32;\n l += 8;\n break;\n case \"b\":\n out[2] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 32;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[2] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 16;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(4, flags, true);\n return out.slice(0, l);\n}\nfunction parse_cell_storage(buf, sst, rsst) {\n switch (buf[0]) {\n case 0:\n case 1:\n case 2:\n case 3:\n return parse_old_storage(buf, sst, rsst, buf[0]);\n case 5:\n return parse_new_storage(buf, sst, rsst);\n default:\n throw new Error(\"Unsupported payload version \".concat(buf[0]));\n }\n}\nfunction parse_TSP_Reference(buf) {\n var pb = parse_shallow(buf);\n return parse_varint49(pb[1][0].data);\n}\nfunction write_TSP_Reference(idx) {\n var out = [];\n out[1] = [{ type: 0, data: write_varint49(idx) }];\n return write_shallow(out);\n}\nfunction parse_TST_TableDataList(M, root) {\n var pb = parse_shallow(root.data);\n var type = varint_to_i32(pb[1][0].data);\n var entries = pb[3];\n var data = [];\n (entries || []).forEach(function(entry) {\n var le = parse_shallow(entry.data);\n var key = varint_to_i32(le[1][0].data) >>> 0;\n switch (type) {\n case 1:\n data[key] = u8str(le[3][0].data);\n break;\n case 8:\n {\n var rt = M[parse_TSP_Reference(le[9][0].data)][0];\n var rtp = parse_shallow(rt.data);\n var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0];\n var mtype = varint_to_i32(rtpref.meta[1][0].data);\n if (mtype != 2001)\n throw new Error(\"2000 unexpected reference to \".concat(mtype));\n var tswpsa = parse_shallow(rtpref.data);\n data[key] = tswpsa[3].map(function(x) {\n return u8str(x.data);\n }).join(\"\");\n }\n break;\n }\n });\n return data;\n}\nfunction parse_TST_TileRowInfo(u8, type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(u8);\n var R = varint_to_i32(pb[1][0].data) >>> 0;\n var cnt = varint_to_i32(pb[2][0].data) >>> 0;\n var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false;\n var used_storage_u8, used_storage;\n if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) {\n used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data;\n used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data;\n } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) {\n used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data;\n used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data;\n } else\n throw \"NUMBERS Tile missing \".concat(type, \" cell storage\");\n var width = wide_offsets ? 4 : 1;\n var used_storage_offsets = u8_to_dataview(used_storage_u8);\n var offsets = [];\n for (var C = 0; C < used_storage_u8.length / 2; ++C) {\n var off = used_storage_offsets.getUint16(C * 2, true);\n if (off < 65535)\n offsets.push([C, off]);\n }\n if (offsets.length != cnt)\n throw \"Expected \".concat(cnt, \" cells, found \").concat(offsets.length);\n var cells = [];\n for (C = 0; C < offsets.length - 1; ++C)\n cells[offsets[C][0]] = used_storage.subarray(offsets[C][1] * width, offsets[C + 1][1] * width);\n if (offsets.length >= 1)\n cells[offsets[offsets.length - 1][0]] = used_storage.subarray(offsets[offsets.length - 1][1] * width);\n return { R: R, cells: cells };\n}\nfunction parse_TST_Tile(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var storage = ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) ? varint_to_i32(pb[7][0].data) >>> 0 > 0 ? 1 : 0 : -1;\n var ri = mappa(pb[5], function(u8) {\n return parse_TST_TileRowInfo(u8, storage);\n });\n return {\n nrows: varint_to_i32(pb[4][0].data) >>> 0,\n data: ri.reduce(function(acc, x) {\n if (!acc[x.R])\n acc[x.R] = [];\n x.cells.forEach(function(cell, C) {\n if (acc[x.R][C])\n throw new Error(\"Duplicate cell r=\".concat(x.R, \" c=\").concat(C));\n acc[x.R][C] = cell;\n });\n return acc;\n }, [])\n };\n}\nfunction parse_TST_TableModelArchive(M, root, ws) {\n var _a;\n var pb = parse_shallow(root.data);\n var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };\n range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1;\n if (range.e.r < 0)\n throw new Error(\"Invalid row varint \".concat(pb[6][0].data));\n range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1;\n if (range.e.c < 0)\n throw new Error(\"Invalid col varint \".concat(pb[7][0].data));\n ws[\"!ref\"] = encode_range(range);\n var store = parse_shallow(pb[4][0].data);\n var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]);\n var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : [];\n var tile = parse_shallow(store[3][0].data);\n var _R = 0;\n tile[1].forEach(function(t) {\n var tl = parse_shallow(t.data);\n var ref = M[parse_TSP_Reference(tl[2][0].data)][0];\n var mtype = varint_to_i32(ref.meta[1][0].data);\n if (mtype != 6002)\n throw new Error(\"6001 unexpected reference to \".concat(mtype));\n var _tile = parse_TST_Tile(M, ref);\n _tile.data.forEach(function(row, R) {\n row.forEach(function(buf, C) {\n var addr = encode_cell({ r: _R + R, c: C });\n var res = parse_cell_storage(buf, sst, rsst);\n if (res)\n ws[addr] = res;\n });\n });\n _R += _tile.nrows;\n });\n}\nfunction parse_TST_TableInfoArchive(M, root) {\n var pb = parse_shallow(root.data);\n var out = { \"!ref\": \"A1\" };\n var tableref = M[parse_TSP_Reference(pb[2][0].data)];\n var mtype = varint_to_i32(tableref[0].meta[1][0].data);\n if (mtype != 6001)\n throw new Error(\"6000 unexpected reference to \".concat(mtype));\n parse_TST_TableModelArchive(M, tableref[0], out);\n return out;\n}\nfunction parse_TN_SheetArchive(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var out = {\n name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : \"\",\n sheets: []\n };\n var shapeoffs = mappa(pb[2], parse_TSP_Reference);\n shapeoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 6e3)\n out.sheets.push(parse_TST_TableInfoArchive(M, m));\n });\n });\n return out;\n}\nfunction parse_TN_DocumentArchive(M, root) {\n var out = book_new();\n var pb = parse_shallow(root.data);\n var sheetoffs = mappa(pb[1], parse_TSP_Reference);\n sheetoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 2) {\n var root2 = parse_TN_SheetArchive(M, m);\n root2.sheets.forEach(function(sheet, idx) {\n book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + \"_\" + idx, true);\n });\n }\n });\n });\n if (out.SheetNames.length == 0)\n throw new Error(\"Empty NUMBERS file\");\n return out;\n}\nfunction parse_numbers_iwa(cfb) {\n var _a, _b, _c, _d;\n var M = {}, indices = [];\n cfb.FullPaths.forEach(function(p) {\n if (p.match(/\\.iwpv2/))\n throw new Error(\"Unsupported password protection\");\n });\n cfb.FileIndex.forEach(function(s) {\n if (!s.name.match(/\\.iwa$/))\n return;\n var o;\n try {\n o = decompress_iwa_file(s.content);\n } catch (e) {\n return console.log(\"?? \" + s.content.length + \" \" + (e.message || e));\n }\n var packets;\n try {\n packets = parse_iwa_file(o);\n } catch (e) {\n return console.log(\"## \" + (e.message || e));\n }\n packets.forEach(function(packet) {\n M[packet.id] = packet.messages;\n indices.push(packet.id);\n });\n });\n if (!indices.length)\n throw new Error(\"File has no messages\");\n var docroot = ((_d = (_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.meta) == null ? void 0 : _c[1]) == null ? void 0 : _d[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0];\n if (!docroot)\n indices.forEach(function(idx) {\n M[idx].forEach(function(iwam) {\n var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0;\n if (mtype == 1) {\n if (!docroot)\n docroot = iwam;\n else\n throw new Error(\"Document has multiple roots\");\n }\n });\n });\n if (!docroot)\n throw new Error(\"Cannot find Document root\");\n return parse_TN_DocumentArchive(M, docroot);\n}\nfunction write_tile_row(tri, data, SST) {\n var _a, _b, _c, _d;\n if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0]))\n throw \"Mutation only works on post-BNC storages!\";\n var wide_offsets = ((_d = (_c = tri[8]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && varint_to_i32(tri[8][0].data) > 0 || false;\n if (wide_offsets)\n throw \"Math only works with normal offsets\";\n var cnt = 0;\n var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = [];\n var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = [];\n for (var C = 0; C < data.length; ++C) {\n if (data[C] == null) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535);\n continue;\n }\n dv.setUint16(C * 2, last_offset, true);\n _dv.setUint16(C * 2, _last_offset, true);\n var celload, _celload;\n switch (typeof data[C]) {\n case \"string\":\n celload = write_new_storage({ t: \"s\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"s\", v: data[C] }, SST);\n break;\n case \"number\":\n celload = write_new_storage({ t: \"n\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"n\", v: data[C] }, SST);\n break;\n case \"boolean\":\n celload = write_new_storage({ t: \"b\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"b\", v: data[C] }, SST);\n break;\n default:\n throw new Error(\"Unsupported value \" + data[C]);\n }\n cell_storage.push(celload);\n last_offset += celload.length;\n _cell_storage.push(_celload);\n _last_offset += _celload.length;\n ++cnt;\n }\n tri[2][0].data = write_varint49(cnt);\n for (; C < tri[7][0].data.length / 2; ++C) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535, true);\n }\n tri[6][0].data = u8concat(cell_storage);\n tri[3][0].data = u8concat(_cell_storage);\n return cnt;\n}\nfunction write_numbers_iwa(wb, opts) {\n if (!opts || !opts.numbers)\n throw new Error(\"Must pass a `numbers` option -- check the README\");\n var ws = wb.Sheets[wb.SheetNames[0]];\n if (wb.SheetNames.length > 1)\n console.error(\"The Numbers writer currently writes only the first table\");\n var range = decode_range(ws[\"!ref\"]);\n range.s.r = range.s.c = 0;\n var trunc = false;\n if (range.e.c > 9) {\n trunc = true;\n range.e.c = 9;\n }\n if (range.e.r > 49) {\n trunc = true;\n range.e.r = 49;\n }\n if (trunc)\n console.error(\"The Numbers writer is currently limited to \".concat(encode_range(range)));\n var data = sheet_to_json(ws, { range: range, header: 1 });\n var SST = [\"~Sh33tJ5~\"];\n data.forEach(function(row) {\n return row.forEach(function(cell) {\n if (typeof cell == \"string\")\n SST.push(cell);\n });\n });\n var dependents = {};\n var indices = [];\n var cfb = CFB.read(opts.numbers, { type: \"base64\" });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (fi.type != 2)\n return;\n if (!fi.name.match(/\\.iwa/))\n return;\n var old_content = fi.content;\n var raw1 = decompress_iwa_file(old_content);\n var x2 = parse_iwa_file(raw1);\n x2.forEach(function(packet2) {\n indices.push(packet2.id);\n dependents[packet2.id] = { deps: [], location: fp, type: varint_to_i32(packet2.messages[0].meta[1][0].data) };\n });\n });\n indices.sort(function(x2, y2) {\n return x2 - y2;\n });\n var indices_varint = indices.filter(function(x2) {\n return x2 > 1;\n }).map(function(x2) {\n return [x2, write_varint49(x2)];\n });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (!fi.name.match(/\\.iwa/))\n return;\n var x2 = parse_iwa_file(decompress_iwa_file(fi.content));\n x2.forEach(function(ia) {\n ia.messages.forEach(function(m) {\n indices_varint.forEach(function(ivi) {\n if (ia.messages.some(function(mess) {\n return varint_to_i32(mess.meta[1][0].data) != 11006 && u8contains(mess.data, ivi[1]);\n })) {\n dependents[ivi[0]].deps.push(ia.id);\n }\n });\n });\n });\n });\n function get_unique_msgid() {\n for (var i = 927262; i < 2e6; ++i)\n if (!dependents[i])\n return i;\n throw new Error(\"Too many messages\");\n }\n var entry = CFB.find(cfb, dependents[1].location);\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var docroot;\n for (var xi = 0; xi < x.length; ++xi) {\n var packet = x[xi];\n if (packet.id == 1)\n docroot = packet;\n }\n var sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n var pb = parse_shallow(docroot.messages[0].data);\n {\n pb[6][0].data = write_varint49(range.e.r + 1);\n pb[7][0].data = write_varint49(range.e.c + 1);\n var cruidsref = parse_TSP_Reference(pb[46][0].data);\n var oldbucket = CFB.find(cfb, dependents[cruidsref].location);\n var _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n for (var j = 0; j < _x.length; ++j) {\n if (_x[j].id == cruidsref)\n break;\n }\n if (_x[j].id != cruidsref)\n throw \"Bad ColumnRowUIDMapArchive\";\n var cruids = parse_shallow(_x[j].messages[0].data);\n cruids[1] = [];\n cruids[2] = [], cruids[3] = [];\n for (var C = 0; C <= range.e.c; ++C) {\n var uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(C + 420690) }];\n cruids[1].push({ type: 2, data: write_shallow(uuid) });\n cruids[2].push({ type: 0, data: write_varint49(C) });\n cruids[3].push({ type: 0, data: write_varint49(C) });\n }\n cruids[4] = [];\n cruids[5] = [], cruids[6] = [];\n for (var R = 0; R <= range.e.r; ++R) {\n uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(R + 726270) }];\n cruids[4].push({ type: 2, data: write_shallow(uuid) });\n cruids[5].push({ type: 0, data: write_varint49(R) });\n cruids[6].push({ type: 0, data: write_varint49(R) });\n }\n _x[j].messages[0].data = write_shallow(cruids);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n delete pb[46];\n var store = parse_shallow(pb[4][0].data);\n {\n store[7][0].data = write_varint49(range.e.r + 1);\n var row_headers = parse_shallow(store[1][0].data);\n var row_header_ref = parse_TSP_Reference(row_headers[2][0].data);\n oldbucket = CFB.find(cfb, dependents[row_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != row_header_ref)\n throw \"Bad HeaderStorageBucket\";\n var base_bucket = parse_shallow(_x[0].messages[0].data);\n for (R = 0; R < data.length; ++R) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(R);\n _bucket[4][0].data = write_varint49(data[R].length);\n base_bucket[2][R] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var col_header_ref = parse_TSP_Reference(store[2][0].data);\n oldbucket = CFB.find(cfb, dependents[col_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != col_header_ref)\n throw \"Bad HeaderStorageBucket\";\n base_bucket = parse_shallow(_x[0].messages[0].data);\n for (C = 0; C <= range.e.c; ++C) {\n _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(C);\n _bucket[4][0].data = write_varint49(range.e.r + 1);\n base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var sstref = parse_TSP_Reference(store[4][0].data);\n (function() {\n var sentry = CFB.find(cfb, dependents[sstref].location);\n var sx = parse_iwa_file(decompress_iwa_file(sentry.content));\n var sstroot;\n for (var sxi = 0; sxi < sx.length; ++sxi) {\n var packet2 = sx[sxi];\n if (packet2.id == sstref)\n sstroot = packet2;\n }\n var sstdata = parse_shallow(sstroot.messages[0].data);\n {\n sstdata[3] = [];\n var newsst = [];\n SST.forEach(function(str, i) {\n newsst[1] = [{ type: 0, data: write_varint49(i) }];\n newsst[2] = [{ type: 0, data: write_varint49(1) }];\n newsst[3] = [{ type: 2, data: stru8(str) }];\n sstdata[3].push({ type: 2, data: write_shallow(newsst) });\n });\n }\n sstroot.messages[0].data = write_shallow(sstdata);\n var sy = write_iwa_file(sx);\n var raw32 = compress_iwa_file(sy);\n sentry.content = raw32;\n sentry.size = sentry.content.length;\n })();\n var tile = parse_shallow(store[3][0].data);\n {\n var t = tile[1][0];\n delete tile[2];\n var tl = parse_shallow(t.data);\n {\n var tileref = parse_TSP_Reference(tl[2][0].data);\n (function() {\n var tentry = CFB.find(cfb, dependents[tileref].location);\n var tx = parse_iwa_file(decompress_iwa_file(tentry.content));\n var tileroot;\n for (var sxi = 0; sxi < tx.length; ++sxi) {\n var packet2 = tx[sxi];\n if (packet2.id == tileref)\n tileroot = packet2;\n }\n var tiledata = parse_shallow(tileroot.messages[0].data);\n {\n delete tiledata[6];\n delete tile[7];\n var rowload = new Uint8Array(tiledata[5][0].data);\n tiledata[5] = [];\n var cnt = 0;\n for (var R2 = 0; R2 <= range.e.r; ++R2) {\n var tilerow = parse_shallow(rowload);\n cnt += write_tile_row(tilerow, data[R2], SST);\n tilerow[1][0].data = write_varint49(R2);\n tiledata[5].push({ data: write_shallow(tilerow), type: 2 });\n }\n tiledata[1] = [{ type: 0, data: write_varint49(range.e.c + 1) }];\n tiledata[2] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n tiledata[3] = [{ type: 0, data: write_varint49(cnt) }];\n tiledata[4] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n }\n tileroot.messages[0].data = write_shallow(tiledata);\n var ty = write_iwa_file(tx);\n var raw32 = compress_iwa_file(ty);\n tentry.content = raw32;\n tentry.size = tentry.content.length;\n })();\n }\n t.data = write_shallow(tl);\n }\n store[3][0].data = write_shallow(tile);\n }\n pb[4][0].data = write_shallow(store);\n }\n docroot.messages[0].data = write_shallow(pb);\n var y = write_iwa_file(x);\n var raw3 = compress_iwa_file(y);\n entry.content = raw3;\n entry.size = entry.content.length;\n return cfb;\n}\nfunction fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nfunction fix_read_opts(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\n\nfunction fix_write_opts(opts) {\nfix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\nfunction get_sheet_type(n/*:string*/)/*:string*/ {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments and threaded comments */\n\t\tvar tcomments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tvar dfile = \"\";\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tvar comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments, false);\n\t\t\t}\n\t\t\tif(sheetRels[sheet][n].Type == RELS.TCMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\ttcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts));\n\t\t\t}\n\t\t});\n\t\tif(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tmake_ssf();\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) {\n\t\tif(typeof Uint8Array == \"undefined\") throw new Error('NUMBERS file parsing requires Uint8Array support');\n\t\tif(typeof parse_numbers_iwa != \"undefined\") {\n\t\t\tif(zip.FileIndex) return parse_numbers_iwa(zip);\n\t\t\tvar _zip = CFB.utils.cfb_new();\n\t\t\tzipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); });\n\t\t\treturn parse_numbers_iwa(_zip);\n\t\t}\n\t\tthrow new Error('Unsupported NUMBERS file');\n\t}\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({}/*:any*/);\n\tvar styles = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({}/*:any*/);\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({}/*:any*/);\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, \"s5s\"));\n\n\tif((dir.metadata || []).length >= 1) {\n\t\t/* TODO: MDX and other types of metadata */\n\t\topts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts);\n\t}\n\n\tif((dir.people || []).length >= 1) {\n\t\topts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts);\n\t}\n\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: dup(table_fmt)\n\t}/*:any*/);\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\n/*:: declare var decrypt_agile:any; */\n\tif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\n/*:: declare var decrypt_std76:any; */\n\tif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(opts.bookType == \"numbers\") return write_numbers_iwa(wb, opts);\n\tif(opts.bookType == \"xlsb\") return write_zip_xlsxb(wb, opts);\n\treturn write_zip_xlsx(wb, opts);\n}\n\n/* XLSX and XLSB writing are very similar. Originally they were unified in one\n export function. This is horrible for tree shaking in the common case (most\n applications need to export files in one format) so this function supports\n both formats while write_zip_xlsx only handles XLSX */\nfunction write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta(f));\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".\" + wbext;\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".\" + wbext, RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_xml(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_xml(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_xml(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_xml(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_xml());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64_decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64_decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\to.type = \"binary\";\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64_decode(d);\n\td = $cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data/*:string*/)/*:string*/ {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\treset_cp();\n\tvar o = opts||{};\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\tif(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== \"undefined\" ? \"buffer\" : \"array\";\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = \"array\"; }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t}\n\tif(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\n/*:: declare var encrypt_agile:any; */\nfunction write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip_xlsx(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ {\n\tvar oopts = {};\n\tvar ftype = has_buf ? \"nodebuffer\" : (typeof Uint8Array !== \"undefined\" ? \"array\" : \"string\");\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = ftype;\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = ftype; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: /*::(*/{\"nodebuffer\": \"buffer\", \"string\": \"binary\"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts);\n\tif(typeof Deno !== \"undefined\") {\n\t\tif(typeof out == \"string\") {\n\t\t\tif(o.type == \"binary\" || o.type == \"base64\") return out;\n\t\t\tout = new Uint8Array(s2ab(out));\n\t\t}\n\t}\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(/*::(*/out/*:: :any)*/) : out;\n}\n\nfunction write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = opts||{};\n\tvar cfb/*:CFBContainer*/ = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse if(typeof TextEncoder !== \"undefined\") return new TextEncoder().encode(o);\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\treturn write_zip_typeXLSX(wb, o);\n}\n\nfunction writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\tvar idx = 0;\n\tif(o.sheet) {\n\t\tif(typeof o.sheet == \"number\") idx = o.sheet;\n\t\telse idx = wb.SheetNames.indexOf(o.sheet);\n\t\tif(!wb.SheetNames[idx]) throw new Error(\"Sheet not found: \" + o.sheet + \" : \" + (typeof o.sheet));\n\t}\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'numbers':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o/*:WriteFileOpts*/) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSyncXLSX(wb, o);\n}\n\n\nfunction writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\n/*::\ntype MJRObject = {\n\trow: any;\n\tisempty: boolean;\n};\n*/\nfunction make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, dense/*:boolean*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row/*:any*/ = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw && (val.t !== \"n\" || (val.t === \"n\" && o.rawNumbers !== false)) ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar out/*:Array*/ = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, o/*:Sheet2CSVOpts*/)/*:?string*/ {\n\tvar isempty = true;\n\tvar row/*:Array*/ = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar w = 0;\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tif(row || (o.blankrows !== false)) out.push((w++ ? RS : \"\") + row);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof $cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = $cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols/*:Array*/ = [], C;\n\tvar cmds/*:Array*/ = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws/*:Worksheet*/ = _ws || ({}/*:any*/);\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell/*:Cell*/;\n\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr/*:Array*/ = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R/*:number*/) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = ws_get_cell_stub(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || table_fmt[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nfunction book_new()/*:Workbook*/ {\n\treturn { SheetNames: [], Sheets: {} };\n}\n\n/* add a worksheet to the end of a given workbook */\nfunction book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ {\n\tvar i = 1;\n\tif(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tif(roll && wb.SheetNames.indexOf(name) >= 0) {\n\t\tvar m = name.match(/(^.*?)(\\d+)$/);\n\t\ti = m && +m[2] || 0;\n\t\tvar root = m && m[1] || name;\n\t\tfor(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;\n\t}\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n\treturn name;\n}\n\n/* set sheet visibility (visible/hidden/very hidden) */\nfunction book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) {\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Sheets) wb.Workbook.Sheets = [];\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tif(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {};\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n}\n\n/* set number format */\nfunction cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) {\n\tcell.z = fmt;\n\treturn cell;\n}\n\n/* set cell hyperlink */\nfunction cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target }/*:Hyperlink*/);\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n}\nfunction cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, \"#\" + range, tooltip); }\n\n/* add to cell comments */\nfunction cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n}\n\n/* set array formula and flush related cells */\nfunction sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) {\n\t\t\tcell.f = formula;\n\t\t\tif(dynamic) cell.D = true;\n\t\t}\n\t}\n\treturn ws;\n}\n\nvar utils/*:any*/ = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: sheet_to_html,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json,\n\tsheet_get_cell: ws_get_cell_stub,\n\tbook_new: book_new,\n\tbook_append_sheet: book_append_sheet,\n\tbook_set_sheet_visibility: book_set_sheet_visibility,\n\tcell_set_number_format: cell_set_number_format,\n\tcell_set_hyperlink: cell_set_hyperlink,\n\tcell_set_internal_link: cell_set_internal_link,\n\tcell_add_comment: cell_add_comment,\n\tsheet_set_array_formula: sheet_set_array_formula,\n\tconsts: {\n\t\tSHEET_VISIBLE: 0,\n\t\tSHEET_HIDDEN: 1,\n\t\tSHEET_VERY_HIDDEN: 2\n\t}\n};\n\nvar _Readable;\nfunction set_readable(R) { _Readable = R; }\n\nfunction write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable();\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row/*:?string*/ = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar R = r.s.r;\n\tvar BOM = false, w = 0;\n\tstream._read = function() {\n\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\twhile(R <= r.e.r) {\n\t\t\t++R;\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\tif(row != null) {\n\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\tif(row || (o.blankrows !== false)) return stream.push((w++ ? RS : \"\") + row);\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) {\n\tvar stream = _Readable();\n\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tstream.push(header);\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tstream.push(make_html_preamble(ws, r, o));\n\tvar R = r.s.r;\n\tvar end = false;\n\tstream._read = function() {\n\t\tif(R > r.e.r) {\n\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\treturn stream.push(null);\n\t\t}\n\t\twhile(R <= r.e.r) {\n\t\t\tstream.push(make_html_row(ws, r, R, o));\n\t\t\t++R;\n\t\t\tbreak;\n\t\t}\n\t};\n\treturn stream;\n}\n\nfunction write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable({objectMode:true});\n\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tR = r.s.r + offset;\n\tstream._read = function() {\n\t\twhile(R <= r.e.r) {\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t++R;\n\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\tstream.push(row.row);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nvar __stream = {\n\tto_json: write_json_stream,\n\tto_html: write_html_stream,\n\tto_csv: write_csv_stream,\n set_readable: set_readable\n};\nexport const version = XLSX.version;\nexport {\n\tparse_xlscfb,\n\tparse_zip,\n\treadSync as read,\n\treadFileSync as readFile,\n\treadFileSync,\n\twriteSync as write,\n\twriteFileSync as writeFile,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteSyncXLSX as writeXLSX,\n\twriteFileSyncXLSX as writeFileXLSX,\n\tutils,\n\t__stream as stream,\n\tSSF,\n\tCFB\n};\n"],"names":["XLSX","current_codepage","current_ansi","VALID_ANSI","CS2CP","set_ansi","cp","indexOf","set_cp","reset_cp","char_codes","data","o","i","len","length","charCodeAt","utf16beread","String","fromCharCode","join","$cptable","debom","c1","c2","utf16leread","slice","_getchar","x","_getansi","set_cptable","cptable","utils","decode","cpdoit","DENSE","Base64_map","Base64_encode","input","c3","e1","e2","e3","e4","isNaN","charAt","Base64_decode","replace","has_buf","Buffer","process","versions","node","Buffer_from","nbfs","from","e","buf","enc","bind","new_raw_buf","alloc","Uint8Array","Array","new_unsafe_buf","allocUnsafe","s2a","s","split","map","s2ab","ArrayBuffer","view","a2s","isArray","c","ab2a","Error","bconcat","bufs","concat","isBuffer","maxlen","set","apply","call","chr0","chr1","_strrev","pad0","v","d","t","fill","pad_","rpad_","p2_32","Math","pow","pad0r","round","pad0r1","pad0r2","SSF_isgeneral","days","months","table_fmt","SSF_default_map","SSF_default_str","SSF_frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_parse_date_code","opts","b2","date","time","dow","dout","out","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSFbasedate","SSFdnthresh","getTime","SSFbase1904","datenum_local","epoch","getTimezoneOffset","SSF_strip_decimal","SSF_general_num","V","log","LOG10E","toPrecision","w","toFixed","toExponential","SSF_small_exp","substr","SSF_large_exp","SSF_normalize_exp","toUpperCase","SSF_general","toString","SSF_format","SSF_write_date","type","fmt","val","ss0","ss","tt","outl","commaify","j","pct1","write_num_exp","idx","match","period","ee","fakee","$$","$1","$2","$3","frac1","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","write_num_flt","ffmt","write_num","write_num_cm","sfmt","mul","write_num_pct","r","ri","ff","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f1","carry","oa","min","max","lres","rres","flr","write_num_exp2","write_num_int","write_num_cm2","write_num_pct2","write_num_f2","lastIndexOf","SSF_abstime","fmt_is_date","cfregex2","chkcond","thresh","parseFloat","dateNF","table","f","in_str","SSF_split_fmt","l","lat","m1","m2","choose_fmt","flen","dt","lst","hr","toLowerCase","ssm","bt","jj","nstr","myv","ostr","vv","decpt","lasti","retval","eval_fmt","SSF_load","undefined","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","dateNFregex","CRC32","T0","n","Int32Array","signed_crc_table","TT","subarray","slice_by_16_tables","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","bstr","seed","C","L","CFB","fs","exports","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_extra_field","blob","prep_blob","flags","read_shift","sz","tgt","mtime","atime","ctime","mt","get_fs","parse","file","options","parse_zip","root","di","row","test","mboundary","boundary","FileIndex","FullPaths","init_cfb","start_di","fcnt","line","parse_mime","parse_mad","mver","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","ssz","fat_addrs","mv","chk","HEADER_SIGNATURE","check_get_mver","header","shift","check_shifts","dir_cnt","sectors","nsectors","ceil","sectorify","sleuth_fat","sector_list","sl","chkd","buf_chain","modulus","k","seen","push","addr","__readInt32LE","nodes","__toBuffer","make_sector_list","name","ENDOFCHAIN","Paths","files","mini","minifat_store","pl","sector","namelen","__utf16le","color","R","clsid","state","start","size","ct","read_date","storage","get_sector_list","content","get_mfat_entry","read_directory","FI","FP","dad","build_full_paths","raw","entry","payload","MSSZ","new_buf","cnt","offset","__readUInt32LE","cfb","CLSID","nm","find","rebuild_cfb","seed_cfb","gc","_file","pop","now","fullPaths","Object","create","HEADER_CLSID","sort","Z","namecmp","elt","_write","_opts","fileType","fp","fi","ca","cstr","dispcnt","csl","qp","get_content_type","write_quoted_printable","write_base64_76","write_mad","cdirs","method","compression","start_cd","crcs","sz_cd","namebuf","outbuf","_deflateRawSync","write_zip","mini_size","fat_size","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","version","_zlib","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","DST_LN_RE","LEN_LN_RE","boff","write_stored","addrs","hash","mlen","len_eb","dst_eb","write_huff_fixed","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","read_bits_4","next_code","hcodes","h1","h2","_inflate","usz","woff","OL","max_len_1","max_len_2","bits","code","dst","inflate","warn_or_throw","wrn","msg","console","error","csz","efsz","fcsz","EF","parse_local_file","meth","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_dos_date","_csz","_usz","ef","InflRaw","InflateRaw","_processChunk","_finishFlushFlag","bytesRead","_inflateRawSync","cfb_add","unsafe","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","ctype","ext","text","encoded","si","end","tmp","fdata","fname","cte","trim","oi","parse_quoted_printable","fpath","cfb_gc","path","UCFullPaths","UCPaths","UCPath","read","readFileSync","read_file","write","writeFileSync","writeFile","cfb_new","cfb_del","splice","cfb_mov","old_name","new_name","ReadShift","CheckField","use_zlib","zlib","message","_inflateRaw","_fs","set_fs","blobify","a2u","write_dl","Deno","TextEncoder","encode","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","basedate","datenum","refdate","dnthresh","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date_1","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","TextDecoder","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","split_regex","safe_split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","widx","ridx","utf8decode","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex1","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","xlml_fixstr","entregex","entrepl","parsexmlbool","value","utf8reada","orig","utf8readb","ww","utf8readc","utf8corpus","utf8read","matchtag","mtcache","RegExp","htmldecode","entities","vtregex","vt_cache","vtvregex","vtmregex","parseVector","matches","baseType","WTF","forEach","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","xlml_normalize","xlmlregex","XMLNS","CORE_PROPS","CUST_PROPS","EXT_PROPS","CT","RELS","TCMNT","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","XMLNS_main","XLMLNS","html","___toBuffer","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","___lpstr","__lpstr","___cpstr","__cpstr","___lpwstr","__lpwstr","___lpp4","__lpp4","___8lpp4","__8lpp4","___double","Infinity","read_double_le","__double","is_buf","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","this","lens","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","cppayload","bs","av","LN2","write_double_le","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","curbuf","endbuf","next","_bufs","write_record","ba","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","encode_range_xls","encode_row","encode_col","decode_row","rowstr","decode_col","colstr","col","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","format_cell","BErr","XF","numFmtId","safe_format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","parse_RichStr","rgsStrRun","dwSizeStrRun","parse_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","write_BrtColor","auto","index","theme","nTS","tint","rgb","parse_ClipboardFormatOrString","VT_I2","VT_I4","VT_VARIANT","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","CountryEnum","XLSFillPattern","rgbify","XLSIcv","RBErr","ct2type","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","write_ct","type2ct","evert_arr","xmlns","Extension","ContentType","f1","PartName","bookType","f2","f3","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","CMNT","SST","STY","THEME","CHART","CHARTEX","CS","WS","DS","MS","IMG","DRAW","XLMETA","PEOPLE","VBA","get_rels_path","parse_rels","currentFilePath","rels","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","add_rels","rId","relobj","targetmode","CT_ODS","write_rdf_type","write_rdf_has","write_meta_ods","CORE_PROPS_REGEX","parse_core_props","cur","cp_doit","write_core_props","Props","CreatedDate","ModifiedDate","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","write_ext_props","W","Application","custregex","write_cust_props","pid","write_vt","fmtid","evert_XLMLDPM","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","xlml_set_prop","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","parse_dictionary","CodePage","dict","parse_BLOB","bytes","ret","Size","parse_ClipboardData","parse_VtUnalignedString","cElements","parse_VtVecHeadingPairValue","parse_VtVecLpwstrValue","parse_VtVecUnalignedLpstrValue","write_TypedPropertyValue","write_FILETIME","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet1","PSet0","rval","FMTID","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writebool","parseuint16","writeuint16","parseuint16a","parslurp","write_Bes","parse_ShortXLUnicodeString","cch","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","width","cRun","write_XLUnicodeRichExtendedString","xlstr","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_HyperlinkString","write_HyperlinkString","write_Hyperlink","hl","hashidx","F","Pretarget","parse_LongRGBA","parse_LongRGB","parse_XLSCell","ixfe","write_XLSCell","parse_XTI","parse_RkRec","parse_Ref8U","rwFirst","rwLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtSkip","FtTab","cf","fSharedNote","parse_BOF","BIFFVer","write_BOF","wb","write_BoundSheet8","hs","parse_DefaultRowHeight","miyRw","Unsynced","DyZero","ExAsc","ExDsc","write_Format","b5","parse_BIFF2Format","parse_Dimensions","write_XF","ixfeP","style","parse_BoolErr","parse_Bes","parse_XLHeaderFooter","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","sbcch","udfName","parse_AddinUdf","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","rgcb","parse_Rgce","parse_RgbExtra","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_Array","ref","parse_ArrayParsedFormula","parse_BIFF5OT","cchName","write_HLink","O","write_HLinkTooltip","Tooltip","parse_ColInfo","cellStyles","colFirst","colLast","coldx","level","parse_Blank","parse_Scl","parse_String","DBF_SUPPORTED_VERSIONS","DBF","dbf_codepage_map","dbf_reverse_map","dbf_to_sheet","ft","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_aoa","wch","_RLEN","to_workbook","to_sheet","from_sheet","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_s","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","hidden","process_col","hpt","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_aoa","write_ws_cell_sylk","a1_to_rc","preamble","RS","rec","wpx","width2px","px2char","rows","px2pt","write_ws_rows_sylk","coord","DIF","dif_to_aoa_str","dif_to_sheet","dif_to_aoa","push_field","topic","push_value","ETH","eth_to_sheet","eth_to_aoa","sep","meta","sheet_to_eth_data","PRN","set_text_arr","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","Y","datestr","timestr","dateNF_fix","cellText","cellNF","outer","prn_to_sheet","firstbyte","lines","prn_to_aoa_str","prn_to_sheet_str","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","parse_cell","parse_LABEL","write_LABEL","write_INTEGER","write_NUMBER","wk1_parse_rc","FuncTab","BinOpTab","parse_cell_3","write_LABEL_16","wsidx","parse_NUMBER_17","v1","v2","write_NUMBER_17","log2","parse_NUMBER_27","parse_SHEETNAMECS","write_XFORMAT_SHEETNAME","argc","argL","argR","args","wk1_fmla_to_csf","sheet_to_wk1","write_biff_rec","write_RANGE","max_R","book_to_wk3","wscnt","write_BOF_WK3","parse_rs","tregex","rpregex","parse_r","rpr","font","pass","shadow","outline","strike","uval","family","valign","parse_rpr","rregex","rend","rs","filter","rs_to_html","nlregex","r_to_html","terms","intro","outro","align","parse_rpr2","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","straywsregex","write_sst_xml","sst","bookSST","count","Count","uniqueCount","Unique","sitag","write_BrtSSTItem","write_sst_bin","write_BrtBeginSst","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceMapEntry","comps","parse_EncryptionHeader","Flags","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","KeyData","encryptedHmacKey","encryptedHmacValue","encs","uri","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","XorRor","byte1","byte2","Byte","password","Temp","PasswordLastChar","PadIndex","XorKey","CurrentElement","Char","CreateXorKey_Method1","Index","ObfuscationArray","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","exec","lastIndex","rgb2Hex","rgb_tint","hex","hsl","G","H6","L2","rgb2HSL","X","h6","hsl2RGB","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","cellXF_uint","cellXF_bool","parse_sty_xml","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","themes","NumberFmt","formatCode","parse_numFmts","Fonts","bold","italic","underline","condense","extend","vertAlign","scheme","indexed","icv","themeElements","clrScheme","parse_fonts","Fills","patternType","bgColor","fgColor","parse_fills","Borders","border","diagonalUp","diagonalDown","parse_borders","xf","CellXf","alignment","vertical","horizontal","textRotation","indent","wrapText","parse_cellXfs","write_sty_xml","NF","write_numFmts","cellXfs","write_cellXfs","write_BrtFmt","rev_XLSBFillPTNames","XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","write_BrtXF","write_Blxf","parse_BrtBorder","write_sty_bin","write_FMTS_bin","grbit","write_FontFlags","sss","charset","write_BrtFont","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","fontId","fillId","borderId","write_CELLSTYLEXFS_bin","write_CELLXFS_bin","xfId","builtinId","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","themeltregex","parse_theme_xml","write_theme","parse_themeElements","Themes","themeXLSX","parse_ExtProp","extType","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_ColorTheme","parse_FullColorExt","parse_XFExtGradient","update_xfext","xfext","xfe","write_xlmeta_bin","write_BrtBeginEsfmd","write_BrtBeginEsmdb","mdb","write_BrtMdb","write_xlmeta_xml","_shapeid","write_comments_vml","csize","bbox","joinstyle","gradientshapeok","coordsize","fillopts","color2","angle","fillparm","fillxml","fillcolor","strokecolor","on","obscured","sheet_insert_comments","threaded","people","comment","author","write_comments_xml","iauthor","ID","lastauthor","ts","write_tcmnt_xml","carr","rootid","tcopts","tcid","parentId","personId","parse_BrtCommentAuthor","write_comments_bin","write_BrtCommentAuthor","write_BrtBeginComment","run","write_StrRun","CT_VBA","VBAFMTS","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_PtgAttrBaxcel","bitSemi","parse_PtgAttrSpaceType","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfLel","PtgListRT","PtgTypes","iftab","FtabArgc","Ftab","cparams","tab","parsetab","Cetab","nameindex","rl","parse_RgceLocRel_BIFF2","cl","parse_RgceLocRel","area","parse_RgceAreaRel","ixti","parse_PtgNameX_BIFF5","PtgDupes","Ptg18","coltype","rt","Ptg19","bitIf","bitGoto","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","sname","formula_quote_sheet_name","stringify_formula","stack","nameidx","last_sp","sp","fflen","func","lbl","names","xlfn","externbook","bookidx","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","_left","parse_SharedParsedFormula","parse_Formula","parse_FormulaValue","cbf","parse_XLSCellParsedFormula","shared","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","footer","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","check_ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml_sheetpr","sheetPr","codeName","CodeName","sheetprot_deffalse","sheetprot_deftrue","sviewregex","write_ws_xml_cell","oldt","oldv","os","Strings","revStrings","cm","parse_ws_xml_data","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","sstr","ftag","cells","cref","tagr","tagc","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","___f","_tag","xlmeta","Cell","_r","write_ws_xml","rdata","_drawing","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","write_ws_xml_sheetpr","sview","workbookViewId","Views","rightToLeft","RTL","write_ws_xml_sheetviews","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","params","height","_cell","customHeight","write_ws_xml_data","write_ws_xml_protection","Names","Sheet","Ref","write_ws_xml_autofilter","merges","margin","relc","location","tooltip","ignoreEC","numberStoredAsText","sqref","write_row_header","ncolspan","lcs","caddr","first","last","write_BrtRowHdr","parse_BrtWsDim","write_BrtWsDim","parse_BrtShortReal","parse_BrtMergeCell","write_BrtMergeCell","BrtMarginKeys","write_ws_bin_cell","last_seen","ncell","write_BrtShortIsst","write_BrtCellIsst","write_BrtShortSt","write_BrtCellSt","write_BrtShortRk","write_BrtCellRk","write_BrtShortReal","write_BrtCellReal","write_BrtShortBool","write_BrtCellBool","write_BrtShortError","write_BrtCellError","write_BrtShortBlank","write_BrtCellBlank","write_ws_bin","write_BrtWsProp","write_BrtBeginWsView","write_WSVIEWS2","write_BrtColInfo","write_COLINFOS","cap","write_CELLTABLE","write_SHEETPROTECT","write_AUTOFILTER","write_MERGECELLS","locidx","write_BrtHLink","write_HLINKS","write_IGNOREECS","write_LEGACYDRAWING","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","defaults","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","badchars","check_ws_name","_good","check_wb","N","codes","cn","wbnsregex","write_wb_xml","write_names","workbookPr","Hidden","sheetId","Comment","localSheetId","write_BrtBundleSh","iTabID","strRelID","parse_BrtFRTArchID$","ArchID","write_wb_bin","write_BrtFileVersion","filterPrivacy","write_BrtWbProp","vistab","write_BOOKVIEWS","write_BUNDLESHS","parse_ws","ai","af","vm","seencol","RR","aii","_d","relId","Rel","rfx","tmpref","parse_ws_bin","data1","data2","mtch","parse_ws_xml_sheetpr2","parse_ws_xml_dim","svs","zoomScale","zoom","parse_ws_xml_sheetviews","columns","coli","colm","colM","parse_ws_xml_cols","afilter","parse_ws_xml_autofilter","_merge","hlink","rng","parse_ws_xml_hlinks","parse_ws_xml","write_ws","write_cmnt","XLMLFormatMap","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_set_custprop","Custprops","oval","process_style_xlml","stag","Interior","I","Pattern","parse_xlml_data","csty","nf","sid","StyleID","interiors","Parent","UTC","safe_format_xlml","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","Rn","opening","ishtml","_o","html_to_sheet","book_append_sheet","html_to_workbook","Currency","Fixed","Standard","Percent","Scientific","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_name_xlml","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml","write_ws_xlml_names","skip","write_ws_xlml_table","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_wsopts","write_xlml","General","xlml_write_docprops","BLACKLIST","xlml_write_custprops","write_props_xlml","write_sty_xlml","write_names_xlml","CONTINUE_RT","slurp","RecordType","insitu","nextrt","XLSRecordEnum","ll","safe_format_xf","make_cell","PSCLSID","SI","DSI","UDI","parse_xlscfb","CompObj","WorkbookP","AnsiUserType","AnsiClipboardFormat","parse_ClipboardFormatOrAnsiString","Reserved1","UnicodeClipboardFormat","parse_ClipboardFormatOrUnicodeString","Reserved2","parse_compobj","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","XFs","palette","get_rgb","addcell","file_depth","xfd","icvFore","icvBack","process_cell_style","afi","rrtabid","lastuser","winlocked","wtf","last_lbl","last_RT","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","seen_codepage","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","fDialog","fBelow","fRight","ExternCount","tmpri","biffguess","fakebs8","rknum","rkrec","_fr","_fc","_fe","_arraystart","isst","_j","_ixfe","b4idx","b2idx","cmo","lastobj","TxO","ImData","noteobj","Encryption","Metadata","Country","parse_workbook","bookVBA","newcfb","newpath","make_vba_xls","DocSummary","Summary","HeadingPairs","TitlesOfParts","parse_xls_props","bookFiles","Ptg","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","parse_FontFlags","bCharSet","xColorType","bR","bG","bB","parse_BrtColor","ixfeParent","ifmt","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","fAlwaysCalc","display","idObj","stAuthor","parse_NoteSh","Info","Data","EncryptionVersionInfo","EncryptedVerifier","EncryptedVerifierHash","parse_RC4Header","EncryptionHeader","EncryptionVerifier","parse_RC4CryptoHeader","parse_FilePassHeader","XorArrayIndex","XorArray","verificationBytes","verifier","Value","crypto_DecryptData_Method1","parse_XORObfuscation","dyHeight","fl","Pos","Dim","CurTab","FirstTab","Selected","TabRatio","UserName","fts","parse_BIFF5Obj","parse_FtArray","ccv","rw","rkrecs","lastcol","ixfes","fStyle","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","fsxButton","parse_CellStyleXF","cmcs","ucnt","extsst","dsst","ctab","virtPath","rgst","texts","accel","parse_ControlInfo","cchText","sVer","displayName","targetFrameName","moniker","oleMoniker","guid","fileTime","Loc","extra","parse_URLMoniker","cAnti","ansiPath","parse_FileMoniker","parse_HyperlinkMoniker","parse_Hyperlink","xnum","cUse","wzTooltip","cxfs","crc","cexts","cchComment","themeXML","parse_frtHeader","num","env","lcb","write_BIFF2Cell","write_ws_biff2_cell","write_BIFF2NUM","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff8_cell","bf","o1","write_FormulaValue","o3","write_Formula","write_Number","write_BoolErr","write_LabelSst","b8","write_Label","write_ws_biff8","guts","_WB","_sheet","MAX_ROWS","write_ColInfo","write_ws_cols_biff8","write_Dimensions","write_Window2","write_MergeCells","HL","write_ws_biff8_hlinks","write_FEAT","write_biff8_global","_sheets","_wb","writezeroes","write_WriteAccess","write_RRTabId","safe1904","write_Font","write_FONTS_biff8","write_FMTS_biff8","write_CELLXFS_biff8","write_Country","write_biff_continue","write_SST","blen","write_biff_buf","fix_write_opts","write_biff8_buf","write_ws_biff2","write_biff2_buf","mtch2","hd","midx","colspan","rowspan","_t","make_html_row","editable","HTML_BEGIN","HTML_END","make_html_preamble","sheet_to_html","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","element","get_computed_style","ownerDocument","defaultView","getComputedStyle","get_get_computed_style_function","getPropertyValue","parse_text_p","fixed","number_formats_ods","day","month","year","hours","minutes","seconds","era","quarter","parse_content_xml","sheetag","rowtag","NFtag","ctag","textp","textpidx","textR","row_ol","number_format_map","mrange","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","FEtag","parse_manifest","write_styles_ods","master_styles","write_content_ods","write_text_p","null_cell_xml","ods","ROWS","_Fref","text_p","_tgt","fods","cidx","colobj","write_automatic_styles_ods","write_ods","manifest","rdf","write_rdf","write_manifest","u8_to_dataview","array","DataView","buffer","byteOffset","byteLength","u8str","u8","stru8","u8concat","u8a","reduce","acc","popcnt","parse_varint49","ptr","varint","write_varint49","varint_to_i32","i32","parse_shallow","write_shallow","proto","item","mappa","parse_iwa_file","_a","messages","merge","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","decompress_iwa_file","compress_iwa_file","frame","write_new_storage","dv","exp","mantissa","writeDecimal128LE","setFloat64","setUint32","write_old_storage","parse_cell_storage","rsst","getUint32","data_offset","ieee","getFloat64","parse_old_storage","d128","readDecimal128LE","parse_new_storage","parse_TSP_Reference","parse_TST_TableDataList","pb","le","rtp","rtpref","mtype","tswpsa","parse_TST_TableInfoArchive","tableref","store","tile","tl","_tile","_b","_c","_e","_g","_h","_i","_k","_l","_m","used_storage_u8","used_storage","wide_offsets","used_storage_offsets","offsets","getUint16","parse_TST_TileRowInfo","nrows","parse_TST_Tile","parse_TST_TableModelArchive","parse_numbers_iwa","indices","packets","packet","docroot","iwam","root2","parse_TN_SheetArchive","parse_TN_DocumentArchive","write_tile_row","tri","last_offset","cell_storage","_dv","_last_offset","_cell_storage","celload","_celload","setUint16","fix_opts_func","safe_parse_sheet","relsPath","sheetRels","stype","parse_cs_bin","parse_cs_xml","parse_cs","dfile","drelsp","draw","parse_drawing","chartp","crelsp","csheet","nc","cache","parse_Cache","parse_chart","parse_ds","tcomments","authors","parse_comments_bin","commentList","authtag","cmnttag","authorId","textMatch","parse_comments_xml","parse_cmnt","tidx","parse_tcmnt_xml","strip_front_slash","_zip","binname","dir","threadedcomments","links","coreprops","extprops","custprops","calcchains","vba","drawings","TODO","ctext","calcchain","parse_ct","parse_sst_bin","parse_sst_xml","parse_sst","parse_theme","parse_sty_bin","parse_sty","link","parse_xlink_bin","parse_xlink","parse_wb_bin","dname","dnstart","parse_wb_xml","parse_wb","propdata","parse_ext_props","toks","warn","parse_cust_props","deps","bookDeps","parse_cc_bin","parse_cc_xml","wbsheets","wbext","wbrelsi","wbrelsfile","wbrels","Types","metatype","parse_xlmeta_bin","lastmeta","parse_xlmeta_xml","parse_xlmeta","displayname","parse_people_xml","safe_parse_wbrels","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","U","dsm","parse_DataSpaceMap","seds","parse_DataSpaceDefinition","parse_TransformInfoHeader","ename","cmode","parse_Primary","einfo","parse_EncryptionInfo","decrypt_agile","decrypt_std76","numbers","trunc","dependents","packet2","x2","y2","indices_varint","ivi","some","mess","search","u8contains","xi","sheetrootref","cruidsref","oldbucket","_x","cruids","uuid","row_header_ref","base_bucket","_bucket","col_header_ref","sstref","sstroot","sentry","sx","sxi","sstdata","newsst","raw32","tileref","tileroot","tentry","tx","tiledata","rowload","R2","tilerow","raw3","write_numbers_iwa","foo","vbafmt","_sn","wsrels","need_vml","rId1","write_sst","write_wb","write_sty","write_zip_xlsxb","write_zip_xlsx","needtc","person","userId","providerId","write_people_xml","read_plaintext","main","read_prn","readSync","infile","read_binary","bstrify","ab","vu","read_cfb","OLD_WTF","read_wb_ID","read_zip","read_utf16","read_plaintext_raw","write_cfb_ctr","write_zip_denouement","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_string_type","bom","write_binary_type","writeSyncXLSX","write_zip_typeXLSX","writeSync","write_stxt_type","sheet_to_txt","sheet_to_csv","wbpath","Keys","DSEntries","SEntries","CEntries","DocSummaryRE","SummaryRE","CEntries2","write_xls_props","fill_vba_xls","write_xlscfb","write_cfb_type","write_zip_type","resolve_book_type","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","header_cnt","skipHidden","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","strip","sheet_add_json","js","skipHeader","JS","ws_get_cell_stub","RC","roll","cell_set_hyperlink","_Readable","split_cell","json_to_sheet","table_to_sheet","table_to_book","sheet_to_formulae","cmds","sheet_to_row_object_array","sheet_get_cell","book_new","book_set_sheet_visibility","sh","vis","wb_sheet_idx","cell_set_number_format","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","__stream","to_json","stream","objectMode","_read","to_html","to_csv","BOM","set_readable"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"async-export.js","mappings":"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,eAIAi2B,GAAA,CACA,OACA,OACA,KACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,YAIAC,GAAA,CACA,KACA,QACA,aACA,WACA,YACA,iBACA,eACA,WACA,SACA,WACA,cACA,kBACA,gBACA,YACA,UACA,YACA,eACA,UACA,YAGA,SAAAC,GAAA1Q,GAA6E,OAAAA,EAAAhnB,IAAA,SAAAxC,GAA6B,OAAAA,GAAA,OAAAA,GAAA,UAAAA,EAAA,EAAwC,CAIlJ,IA4FAm6B,GAAAxQ,GA5FAuQ,GAAA,CAEA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAGA,EACA,SACA,SACA,MACA,IACA,SACA,SACA,MAEA,QACA,MACA,IACA,QACA,QACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,SACA,MACA,SAEA,IACA,SACA,SACA,MACA,QACA,QACA,MACA,IACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SAEA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,QACA,SACA,SACA,QACA,QAGA,SACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAKA1E,GAAA,CACA,WACA,YACA,aACA,WACA,YACA,WACA,UACA,mBACA,aAGA4E,GAAA,CACA,WACA,YACA,aACA,WACA,YACA,WACA,UACA,mBACA,aAOAC,GAA8B,CAE9B,yFACA,mEACA,sEACA,mEACA,4FAGA,qFACA,8CACA,6CAGA,sFACA,+CAGA,mDACA,+CACA,iDACA,6CAGA,wFACA,iDAGA,uFACA,gDAGA,kFACA,2CAGA,yEACA,kFACA,mFAGA,+EACA,oFAGA,sFA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AAtY,GAAA1gB,EAAAnT,EAAA,IACA,IAAAssC,EAAAE,GAAAr5B,EAAAg5B,EAAAvlC,GAGA,OAFA5G,IAAAmsC,EAAApsC,IAAAwsC,EAAAE,GAAAt5B,EAAAnT,EAAAmsC,EAAApsC,EAAAusC,EAAA1lC,IACAuM,EAAA7E,EAAA0e,EACA,CAAAsf,EAAAC,EACA,CA4DA8nB,CAAAlhD,EAAAqR,EAAArR,EAAA7E,EAAA1H,GACA,OAASkuB,KAAAA,EAAAhrB,IAAAA,EAAA,GAAAmrC,QAAAmf,EAAAE,OAAAjhD,GAAA,IAAApJ,GAAAH,EAAA,GACT,CAwBA,SAAAyqD,GAAA30D,EAAAI,EAAA4G,GACA,IAAAulC,EAAAvsC,EAAA0T,WAAA,GACAg5B,EAAAE,GAAA5sC,EAAAusC,EAAAvlC,GACAmtB,EAAAn0B,EAAA0T,WAAA,GAEA,OAAAg5B,EADAvY,EAAA,EAAA0Y,GAAA7sC,EAAAm0B,EAAAuY,EAAA1lC,GAAA,KAEA,CAGA,IAAA4tD,GAAAD,GAEAE,GAAAF,GAMAG,GAAAH,GAEAI,GAAAJ,GACAlE,GAAA,CACA,SACA,SACA,eACA,cACA,SACA,YACA,gBACA,eACA,UACA,kBACA,UACA,gBACA,iBACA,iBACA,iBACA,UACA,WACA,SACA,oBACA,sBACA,oBACA,uBACA,UACA,aACA,sBACA,eACA,aACA,mBACA,iBACA,eACA,aACA,iBACA,kBACA,kBACA,UACA,iBACA,WACA,mBACA,eACA,WACA,YACA,qBACA,kBACA,UACA,SACA,UACA,WACA,WACA,mBACA,iBACA,YACA,gBACA,eACA,iBACA,kBACA,kBACA,kBACA,sBACA,sBACA,kBACA,iBACA,oBACA,kBACA,iBACA,qBACA,iBACA,eACA,iBACA,eACA,mBACA,UACA,YACA,iBACA,eACA,kBACA,sBACA,cACA,gBACA,aACA,WACA,mBACA,iBACA,iBACA,WACA,aACA,UACA,YACA,eACA,aACA,kBACA,mBACA,oBACA,qBACA,wBACA,wBACA,eACA,oBACA,oBACA,oBACA,oBACA,mBACA,aACA,kBACA,oBACA,YACA,YACA,YACA,YACA,cACA,cACA,YACA,UACA,kBACA,qBACA,cACA,iBACA,mBACA,mBACA,iBACA,kBACA,kBACA,sBACA,gBACA,qBACA,kBACA,mBACA,mBACA,gBACA,YACA,gBACA,cACA,oBACA,cACA,iBACA,iBACA,oBACA,gBACA,iBACA,cACA,WACA,kBACA,cACA,gBACA,qBACA,kBACA,wBACA,oBACA,mBACA,qBACA,sBACA,kBACA,yBACA,aACA,kBACA,eACA,eACA,mBACA,mBACA,qBACA,mBACA,sBACA,yBACA,iBACA,gBACA,gBACA,oBACA,kBACA,mBACA,sBACA,wBACA,sBACA,qBACA,cACA,gBACA,gBACA,iBACA,kBACA,cACA,aACA,kBACA,cACA,wBACA,sBACA,YACA,iBACA,gBACA,kBACA,uBACA,wBACA,kBACA,kBACA,uBACA,mBACA,iBACA,mBACA,oBACA,iBACA,kBACA,kBACA,qBACA,gBACA,kBACA,mBACA,iBACA,iBACA,oBACA,mBACA,sBACA,oBACA,yBACA,eACA,WACA,oBACA,sBACA,iBACA,iBACA,mBACA,qBACA,kBACA,qBACA,yBACA,gBACA,wBACA,eACA,kBACA,qBACA,eACA,mBACA,oBACA,oBACA,uBACA,qBACA,mBACA,kBACA,gBACA,sBACA,wBACA,qBACA,gBACA,iBACA,wBACA,iBACA,mBACA,qBACA,sBACA,mBACA,oBACA,oBACA,yBACA,uBACA,yBACA,6BACA,kBACA,iBACA,uBACA,0BACA,mBACA,mBACA,oBACA,kBACA,sBACA,kBACA,oBACA,sBACA,+BACA,mBACA,qBACA,iBACA,qBACA,gBACA,uBACA,kBACA,4BACA,sBACA,yBACA,sBACA,sBACA,sBACA,yBACA,iBACA,qBACA,mBACA,uBACA,iBACA,mBACA,sBACA,oBACA,oBACA,sBACA,sBACA,oBACA,qBACA,2BACA,8BACA,qBACA,mBACA,gBACA,kBACA,iBACA,qBACA,sBACA,sBACA,oBACA,sBACA,oBACA,oBACA,yBACA,kBACA,uBACA,2BACA,uBACA,sBACA,uBACA,kBACA,qBACA,sBACA,mBACA,mBACA,wBACA,0BACA,0BACA,uBACA,yBACA,yBACA,oBACA,iBACA,gBACA,kBACA,uBACA,oBACA,4BACA,yBACA,aACA,sBACA,oBACA,sBACA,oBACA,oBACA,uBACA,uBACA,wBACA,mBACA,wBACA,2BACA,kBACA,eACA,eACA,iBACA,iBACA,mBACA,mBACA,kBACA,yBACA,6BACA,uBACA,eACA,qBACA,qBACA,mBACA,gBACA,uBACA,uBACA,qBACA,sBACA,wBACA,uBACA,kBACA,oBACA,eACA,gBACA,kBACA,kBACA,uBACA,wBACA,qBACA,gBACA,aACA,aACA,oBACA,uBACA,qBACA,eACA,oBACA,oBACA,kBACA,qBACA,qBACA,wBACA,0BACA,iBACA,kBACA,kBACA,wBACA,mBACA,oBACA,yBAEAJ,GAAA,CACA,UACA,OACA,SACA,YACA,QACA,YACA,QACA,QACA,QACA,WACA,QACA,SACA,WACA,YACA,WACA,SACA,SACA,SACA,UACA,QACA,UACA,SACA,QACA,WACA,SACA,SACA,UACA,WACA,YACA,WACA,UACA,SACA,SACA,WACA,UACA,WACA,SACA,QACA,SACA,SACA,YACA,UACA,cACA,UACA,UACA,YACA,SACA,UACA,UACA,YACA,WACA,YACA,YACA,UACA,UACA,YACA,QACA,QACA,UACA,SACA,UACA,UACA,SACA,UACA,WACA,UACA,UACA,SACA,WACA,UACA,aACA,UACA,YACA,YACA,SACA,WACA,UACA,aACA,YACA,YACA,YACA,cACA,YACA,eACA,WACA,UACA,UACA,UACA,cACA,YACA,WACA,aACA,YACA,eACA,iBACA,eACA,YACA,WACA,UACA,UACA,aACA,cACA,cACA,YACA,YACA,YACA,kBACA,eACA,gBACA,UACA,WACA,WACA,YACA,YACA,aACA,WACA,YACA,YACA,WACA,cACA,iBACA,WACA,YACA,gBACA,WACA,WACA,YACA,aACA,eACA,cACA,QACA,QACA,YACA,aACA,YACA,cACA,YACA,eACA,aACA,WACA,gBACA,gBACA,UACA,UACA,UACA,cACA,cACA,cACA,eACA,eACA,WACA,cACA,eACA,kBACA,qBACA,oBACA,qBACA,eACA,kBACA,qBACA,qBACA,iBACA,YACA,cACA,eACA,YACA,YACA,WACA,WACA,aACA,iBACA,UACA,YACA,YACA,WACA,eACA,cACA,WACA,cACA,gBACA,cACA,WACA,cACA,cACA,WACA,eACA,oBACA,iBACA,mBACA,eACA,gBACA,eACA,WACA,aACA,WACA,cACA,YACA,YACA,gBACA,cACA,iBACA,iBACA,eACA,YACA,cACA,eACA,YACA,aACA,WACA,WACA,cACA,gBACA,UACA,WACA,WACA,cACA,cACA,YACA,UACA,WACA,cACA,aACA,eACA,aACA,iBACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,oBACA,eACA,iBACA,kBACA,oBACA,sBACA,oBACA,eACA,WACA,YACA,iBACA,SACA,YACA,aACA,gBACA,kBACA,qBACA,WACA,oBACA,eACA,kBACA,eACA,qBACA,iBACA,gBACA,mBACA,mBACA,kBACA,iBACA,kBACA,mBACA,aACA,eACA,cACA,cACA,gBACA,cACA,aACA,aACA,iBACA,gBACA,WACA,gBACA,YACA,WACA,aACA,gBACA,YACA,gBACA,eACA,cACA,kBACA,kBACA,aACA,mBACA,eACA,gBACA,cACA,eACA,kBACA,UACA,aACA,cACA,YACA,cACA,cACA,eACA,eACA,cACA,aACA,YACA,eACA,YACA,gBACA,cACA,UACA,YACA,YACA,YACA,WACA,YACA,cACA,cACA,YACA,WACA,WACA,YACA,YACA,YACA,eACA,iBACA,kBACA,WACA,eACA,WACA,oBACA,gBACA,kBACA,YACA,qBACA,sBACA,sBACA,qBACA,cACA,cACA,eACA,YACA,cACA,iBACA,mBACA,wBACA,YACA,cACA,iBACA,mBACA,YACA,kBACA,kBACA,eACA,mBACA,gBACA,eACA,eACA,WACA,WACA,cACA,YACA,aACA,WACA,eACA,oBACA,gBACA,sBACA,mBACA,oBACA,uBACA,kBACA,oBACA,kBACA,eACA,UACA,gBACA,iBACA,yBACA,uBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,YACA,YACA,cACA,YACA,aACA,WACA,aACA,cACA,YACA,YACA,YACA,iBACA,kBACA,gBACA,aACA,cACA,YACA,gBACA,gBACA,iBACA,aACA,eACA,YACA,aACA,aACA,YACA,aACA,UACA,WACA,cACA,cACA,cACA,cACA,WACA,WACA,eACA,eACA,cACA,eACA,WACA,gBACA,gBACA,cACA,iBACA,iBACA,YACA,YACA,eACA,eACA,cACA,aACA,eACA,cACA,YACA,cACA,eACA,gBACA,eACA,iBACA,cACA,cACA,cACA,eACA,gBACA,gBACA,gBACA,gBACA,gBACA,kBACA,cACA,gBACA,eACA,cACA,cACA,cACA,eACA,cACA,kBACA,UACA,kBACA,UACA,iBACA,oBACA,cACA,mBACA,cACA,eACA,aACA,gBACA,kBAEAD,GAAA,CACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,SAGA,SAAA4E,GAAAzmD,GAYA,MAXA,OAAAA,EAAAxN,MAAA,OAAAwN,EAAAA,EAAAxN,MAAA,IAEA,IAAAwN,EAAAlO,WAAA,IAEA,KADAkO,EAAAA,EAAAxN,MAAA,IACAV,WAAA,KAAAkO,EAAAA,EAAAxN,MAAA,KAMAwN,GAFAA,GAFAA,EAAAA,EAAApM,QAAA,yBAEAA,QAAA,yDAAA6I,EAAAC,GAAmF,OAAAA,EAAA9I,QAAA,aAEnFA,QAAA,6BACAA,QAAA,QAAqB,KAAAA,QAAA,UACrB,CAEA,SAAA8yD,GAAA1mD,GAGA,OAFA,OAAAA,EAAApM,QAAAusD,GAAA,iBAAAvsD,QAAA,eAEAA,QAAA,KAAoB,KAAAA,QAAA,SACpB,CAEA,SAAA+yD,GAAA5oD,GACA,IAAAyS,EAAAzS,EAAA9I,MAAA,KAEA,OADAub,EAAA,GAAAvb,MAAA,QACAub,EAAA,GA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A,gBACAA,EAAA,YAAA9L,OAAA,EACA,MAIA,kCACA8L,EAAA,cAAAA,EAAA,gBACAA,EAAA,YAAA3Q,MAAA,EACA,MAYA,QAAAl/C,IAAA,EACM,MAGN,yCAAAgvD,EAAA,IACA,2BACA,gCACA,uBACA,eACA,iBACA,kBACA,iBACA,6BACA,uBACA,eACA,gBACA,eACA,gBACA,iBACA,kBACA,kBACA,iBACA,uBACA,WACA,eACA,eACA,iBACA,6BACA,eACA,gBACA,oBACA,iBACA,0BACA,aACA,eACA,gBACA,oBACA,eACA,wBACA,qBACA,kBACA,qBACA,kBACA,kBACA,sBACA,yBACA,wBACA,2BACA,4BACA,wBACA,QAAAhvD,IAAA,EACM,MAGN,wBAAAgvD,EAAA,IACA,gBACA,eACA,gBACA,eACA,eACA,aACA,mBACA,QAAAhvD,IAAA,EACM,MAGN,wBAAAgvD,EAAA,IACA,uBACA,0BACA,oBACA,yBACA,QAAAhvD,IAAA,EACM,MAGN,wBAAAgvD,EAAA,IACA,SACA,qBACA,wBACA,kBACA,gBACA,yBACA,qBACA,gBACA,iBACA,iBACA,kBACA,kBACA,eACA,aACA,iBACA,qBACA,yBACA,yBACA,aACA,aACA,cACA,wBACA,2BACA,qBACA,gBACA,iBACA,UACA,YACA,qBACA,sBACA,+BACA,QAAAhvD,IAAA,EACM,MAEN,qBACA,OAAAgvD,EAAA,IACA,YAEA,WACA,UACA,UACA,WACA,iBACA,YACA,oBACA,YACA,iBACA,mBACA,iBACA,mBACA,iBACA,gBACA,gBACA,gBACA,gBACA,eACA,aACA,aACA,aAEA,0BACA,QAAAhvD,IAAA,EACM,MAEN,cACA,4BACA,OAAAgvD,EAAA,IACA,YACA,WACA,UACA,UACA,WACA,iBACA,YACA,oBACA,YACA,iBACA,mBACA,iBACA,oBACA,mBACA,iBACA,gBACA,gBACA,gBACA,gBACA,eACA,aACA,aACA,mBACA,QAAAhvD,IAAA,EACM,MAGN,6CAAAgvD,EAAA,IACA,UACA,YACA,YACA,YACA,YACA,cACA,eACA,gBACA,kBACA,oBAEA,aACA,cACA,kBACA,eACA,UACA,gBACA,cAEA,gBACA,QAAAhvD,IAAA,EACM,MAGN,sBAEA,QAAAA,IAAA,EAEA,GAAAA,GAAA,MAEA,GAAAgvD,EAAA,GAAAn7D,MAAA,kBACA,IAAAuN,EAAAA,EAAA/X,OAAA,gCAAA2lE,EAAA,OAAA5tD,EAAA1X,KAAA,KACA,gCAAA0X,EAAAA,EAAA/X,OAAA,OACA,UAAA2lE,EAAA,GAAAhlE,OAAA,SACA,MAAAglE,EAAA,GAAArB,GAAAC,EAAAyC,EAAAznE,EAAA8L,EAAA1K,MAAAkmE,EAAAlB,EAAAxrC,SACW56B,EAAAomE,EAASkB,EAAAlB,EAAAxrC,MAAAwrC,EAAA,GAAA3lE,QACpB,KACA,CACA,GAAA4G,EAAAupB,IAAA,0BAAAw1C,EAAA,OAAA5tD,EAAA1X,KAAA,KAEA,IAAA6G,GAAA,CAAc,EAOd,OANAN,EAAA8hE,YAAA9hE,EAAA+hE,YAAAzhE,GAAA2vB,OAAAF,GACAzvB,GAAA0vB,WAAA2vC,EACAr/D,GAAAozD,SAAAA,EACApzD,GAAA8I,IAAAwa,GAAA9kB,GACAwB,GAAA+4B,MAAAA,EACA/4B,GAAAq9D,UAAAA,EACAr9D,EACA,CAEA,SAAA0hE,GAAAhpE,EAAAgH,GAEA,OADAiiE,GAAAjiE,EAAAA,GAAA,IACAA,EAAAgD,MAAA,UACA,oBAAA87D,GAAA5jE,EAAAlC,GAAAgH,GACA,4CAAA8+D,GAAA9lE,EAAAgH,GACA,mBAAA8+D,GAAAjiE,EAAA7D,GAAAgH,GAGA,CA8BA,SAAAkiE,GAAAl4D,GAA8B,OAAA4f,GAAA,mBAAsC,UAAA5f,EAAAm7B,KAAA,kBAAAgK,GAAAnlC,EAAAkrD,IAAA,CAAwD5vD,EAAA,EAAAvI,EAAA,KAAU,CAmJtI,SAAAolE,GAAAj0C,EAAAgY,EAAA7V,EAAArwB,EAAA2D,EAAA2/B,EAAArzB,GACA,IAAAie,GAAAllB,MAAAklB,EAAApwB,GAAAkL,MAAAklB,EAAA3mB,EAAA,SAEA,IAAA66D,EAAA,GAEA,GADAl0C,EAAA3mB,IAAA66D,EAAA,kBAAAz6C,GAAAwnB,GAAAjhB,EAAA3mB,EAAA0I,KACAie,EAAA2T,GAAA3T,EAAA2T,EAAA9nC,MAAA,EAAAmsC,EAAA9sC,SAAA8sC,EAAA,CACA,IAAAtoB,EAAAsR,GAAAhB,EAAA2T,EAAA9nC,MAAAmsC,EAAA9sC,OAAA,IACAgpE,EAAA,yBAAAxkD,EAAAtY,GAAA2K,EAAA3K,EAAA,QAAAsY,EAAAtY,EAAA2K,EAAA3K,GAAA,UAAAsY,EAAA7gB,GAAAkT,EAAAlT,EAAA,QAAA6gB,EAAA7gB,EAAAkT,EAAAlT,GAAA,IACA,CAOA,GALAmxB,EAAAxmB,GAAAwmB,EAAAxmB,EAAAywB,SACAiqC,EAAA,WAAAz6C,GAAAuG,EAAAxmB,EAAAywB,QACAjK,EAAAxmB,EAAA++B,UAAA27B,EAAA,mBAAAz6C,GAAAuG,EAAAxmB,EAAA++B,WAGApW,EAAA,WAEA,IADA,IAAAkiC,EAAAliC,EAAA,WACAgyC,EAAA,EAAkBA,GAAA9P,EAAAn5D,SAAmBipE,EACrC9P,EAAA8P,GAAA9lE,EAAAQ,GAAAkT,EAAAlT,GAAAw1D,EAAA8P,GAAA9lE,EAAA+I,GAAA2K,EAAA3K,IACAitD,EAAA8P,GAAAzmE,EAAAmB,EAAAw1D,EAAA8P,GAAA9lE,EAAAQ,IAAAqlE,EAAA,kBAAA7P,EAAA8P,GAAAzmE,EAAAmB,EAAAw1D,EAAA8P,GAAA9lE,EAAAQ,GACAw1D,EAAA8P,GAAAzmE,EAAA0J,EAAAitD,EAAA8P,GAAA9lE,EAAA+I,IAAA88D,EAAA,gBAAA7P,EAAA8P,GAAAzmE,EAAA0J,EAAAitD,EAAA8P,GAAA9lE,EAAA+I,IAIA,IAAAtH,EAAA,GAAA6N,EAAA,GACA,OAAAqiB,EAAAlwB,GACA,YAAAgC,EAAA8wB,WAAA,SAA4C,MAC5C,QAAA9yB,EAAA,SAA0B6N,EAAAtS,OAAA20B,EAAApwB,GAAoB,MAC9C,QAAAE,EAAA,UAA2B6N,EAAAqiB,EAAApwB,EAAA,QAA0B,MACrD,QAAAE,EAAA,QAAyB6N,EAAA4jB,GAAAvB,EAAApwB,GAAkB,MAC3C,QAAAE,EAAA,WAA4B6N,EAAA,IAAA7K,KAAAktB,EAAApwB,GAAAgsB,cAAoC,MAAAoE,EAAAlH,IAAAkH,EAAAlH,EAAAkH,EAAAlH,GAAAloB,EAAA,KAAqD,MACrH,QAAAd,EAAA,SAA0B6N,IAAAqiB,EAAApwB,GAAA,IA55c1B,IACA3C,QAAAssB,GAAA,SAAAhnB,GAA0C,OAAA4mB,GAAA5mB,EAAA,GAAsBtF,QAAA0sB,GAAA,SAAAtrB,GAAqC,YAAAA,EAAAlD,WAAA,GAAAwJ,SAAA,IAAAF,cAAA,GAAgE,GA85crK,IAAAuuD,EAAA5B,GAAAtvD,EAAA+gD,QAAA7yB,EAAAluB,GACAoiE,EAAA,sBAAAlR,GACAkR,EAAA,YAAAnyD,EAAAlT,EAAA,EACA,IAAAulE,EAAA,MAAAp0C,EAAApwB,EAAA+N,EAAA,GACAnL,EAAA,KAAAwtB,EAAAlwB,EAAA,qBAAAA,EAAA,KAAAskE,EAAA,UAIA,OAFAp0C,EAAAnxB,GAAA,IAAA3D,OAAA,IAAAsH,GAAAwtB,EAAAnxB,EA/CAN,IAAA,SAAAM,GAEA,IACAgB,EAAA6rB,GAAA,WADA7sB,EAAAiB,GAAA,IA92coD7C,QAAA,0BA+2cpD,CAAkCq6B,MAAA,oCAClC,OAAA5L,GAAA,UAAA7rB,EAAA,CAAkC,YAAAhB,EAAAgb,GAClC,GAAEte,KAAA,KA4CFmwB,GAAA,OAAAlpB,EAAA0hE,EACA,CACA,SAAAG,GAAAtxD,EAAAzD,GACA,IAAAvU,EAAA,mBAAAgY,EAAA,OAMA,OALAzD,IACAA,EAAAohC,MAAAphC,EAAAqhC,MAAArhC,EAAAqhC,IAAAC,GAAAthC,EAAAohC,MACAphC,EAAAqhC,MAAA51C,GAAA,oCAAAuU,EAAAqhC,IAAA,KACArhC,EAAAkhC,SAAAz1C,GAAA,mBAEAA,EAAA,GACA,CAuCA,SAAAupE,GAAA7+D,EAAA3D,EAAAsjC,GACA,IAAArqC,EAAA,GACAsD,EAAA+mC,EAAAtT,WAAArsB,GACA0sB,EAAAiT,EAAArT,OAAA1zB,GAEAyB,EAAAqyB,EArOA,SAAAA,EAAArwB,EAAA2D,EAAA2/B,GACA,IAAAjT,EAAA,SACA,MAAAiT,GAAA,IAAaowB,UAAA,IAAcsB,MAAA,SAI3B,IAFA,IAAAvI,EAAAnpB,EAAAowB,SAAAsB,MACA10D,EAAA,GACApH,EAAA,EAAgBA,EAAAuzD,EAAArzD,SAAkBF,EAAA,CAClC,IAAA8Q,EAAAyiD,EAAAvzD,GACA8Q,EAAAirD,OAAAtxD,IAIAqG,EAAAm7B,KAAAvhC,MAAA,aACAtD,EAAA0P,KAAAkyD,GAAAl4D,IACA,CACA,OAAA1J,EAAA7G,KAAA,GACA,CAqNAgpE,CAAApyC,EAAArwB,EAAA2D,EAAA2/B,GAAA,GAUA,OATAtlC,EAAA5E,OAAA,GAAAH,EAAA+W,KAAA,UAAAhS,EAAA,YAGAA,EAAAqyB,EA9CA,SAAAA,EAAArwB,GACA,IAAAqwB,EAAA,iBACA,IAAA9B,EAAAgB,GAAAc,EAAA,SACAkiC,EAAAliC,EAAA,eAAAgyC,EAAA,EACAppE,EAAA,GACAo3B,EAAA,UAAAA,EAAA,SAAA7G,QAAA,SAAAxf,EAAA9Q,GACAy1C,GAAA3kC,GACA,IAAA5H,IAAA4H,EAAA+2B,MACAl1B,EAAA8iD,GAAAz1D,EAAA8Q,GACA8F,EAAA,CAAmB,WAAA5W,EAAA,GACnBkJ,IAAA0N,EAAA,YAAA0/B,GAAA3jC,EAAAk1B,QACA/2B,EAAA0kC,SAAA5+B,EAAA,kBACA7W,EAAA+W,KAAA4Z,GAAA,cAAA9Z,GACA,GAEA,IADA,IAAAsgB,EAAAj0B,MAAAW,QAAAuzB,GACApf,EAAAsd,EAAAhyB,EAAA+I,EAAwB2L,GAAAsd,EAAA3yB,EAAA0J,IAAgB2L,EAAA,CAExC,IADA,IAAAzD,EAAA,CAAA+0D,GAAAtxD,GAAAof,EAAA,cAAApf,KACA1F,EAAAgjB,EAAAhyB,EAAAQ,EAAyBwO,GAAAgjB,EAAA3yB,EAAAmB,IAAgBwO,EAAA,CACzC,IAAAm3D,GAAA,EACA,IAAAL,EAAA,EAAeA,GAAA9P,EAAAn5D,SAAmBipE,EAClC,KAAA9P,EAAA8P,GAAA9lE,EAAAQ,EAAAwO,GACAgnD,EAAA8P,GAAA9lE,EAAA+I,EAAA2L,GACAshD,EAAA8P,GAAAzmE,EAAAmB,EAAAwO,GACAgnD,EAAA8P,GAAAzmE,EAAA0J,EAAA2L,GAAA,CACAshD,EAAA8P,GAAA9lE,EAAAQ,GAAAwO,GAAAgnD,EAAA8P,GAAA9lE,EAAA+I,GAAA2L,IAAAyxD,GAAA,GACA,KAFA,CAIA,IAAAA,EAAA,CACA,IAAAzyD,EAAA,CAAe3K,EAAA2L,EAAAlU,EAAAwO,GACf26B,EAAAzX,GAAAxe,GAAAie,EAAAkC,GAAAC,EAAApf,IAAA,IAAA1F,GAAA8kB,EAAA6V,GACA14B,EAAAwC,KAAAmyD,GAAAj0C,EAAAgY,EAAA7V,EAAArwB,EAAA2D,EAAA2/B,EAAArzB,GAHA,CAIA,CACAzC,EAAAwC,KAAA,UACAxC,EAAApU,OAAA,GAAAH,EAAA+W,KAAAxC,EAAA/T,KAAA,IACA,CACA,OAAAR,EAAAQ,KAAA,GACA,CAUAkpE,CAAAtyC,EAAArwB,GAAA,GACAhC,EAAA5E,OAAA,GAAAH,EAAA+W,KAAA,UAAAhS,EAAA,YAGA/E,EAAA+W,KA3NA,SAAAqgB,EAAArwB,EAAA2D,EAAA2/B,GACA,IAAAjT,EAAA,SACA,IAAAp3B,EAAA,GA0CA,GA1BAo3B,EAAA,cACAp3B,EAAA+W,KAAA,eACAqgB,EAAA,YAAArhB,QAAA/V,EAAA+W,KAAA4Z,GAAA,eAA8D,WAAAyG,EAAA,YAAArhB,UAC9DqhB,EAAA,YAAAg/B,QAAAp2D,EAAA+W,KAAA4Z,GAAA,eAA8D,WAAAyG,EAAA,YAAAg/B,UAC9Dp2D,EAAA+W,KAAA4Z,GAAA,oBACA,WAAAyG,EAAA,YAAA++B,QAAA,OACA,SAAA/+B,EAAA,YAAA4+B,MAAA,MACA,UAAA5+B,EAAA,YAAA6+B,OAAA,MACA,QAAA7+B,EAAA,YAAA8+B,KAAA,UAEAl2D,EAAA+W,KAAA,iBAgBAszB,GAAAA,EAAAowB,UAAApwB,EAAAowB,SAAAzjC,QAAAqT,EAAAowB,SAAAzjC,OAAAtsB,GAEA,GAAA2/B,EAAAowB,SAAAzjC,OAAAtsB,GAAAq2D,OAAA/gE,EAAA+W,KAAA4Z,GAAA,aAAA0Z,EAAAowB,SAAAzjC,OAAAtsB,GAAAq2D,OAAA,yCACA,CAEA,QAAA9gE,EAAA,EAAkBA,EAAAyK,KAAS2/B,EAAAowB,SAAAzjC,OAAA/2B,IAAAoqC,EAAAowB,SAAAzjC,OAAA/2B,GAAA8gE,UAAA9gE,GAC3BA,GAAAyK,GAAA1K,EAAA+W,KAAA,cACA,CAqDA,UAhDAszB,GAAA,IAAcowB,UAAA,IAAcQ,OAAA,YAAmBE,KAAAn7D,EAAA+W,KAAA,yBA2B/CqgB,EAAA,cACAp3B,EAAA+W,KAAA0Z,GAAA,2BACA2G,EAAA,YAAAuyC,SAAA3pE,EAAA+W,KAAA0Z,GAAA,0BACA2G,EAAA,YAAAwyC,WAAA5pE,EAAA+W,KAAA0Z,GAAA,4BACA,MAAA2G,EAAA,YAAAyyC,mBAAAzyC,EAAA,YAAAyyC,kBACA,MAAAzyC,EAAA,YAAA0yC,qBAAA1yC,EAAA,YAAA0yC,qBAAA9pE,EAAA+W,KAAA0Z,GAAA,oCADAzwB,EAAA+W,KAAA0Z,GAAA,kCAEA,CACA,mCACA,kCACA,+BACA,oCACA,iCACA,6CACA,oCACA,iCACA,qBACA,6BACA,uCACAF,QAAA,SAAAvvB,GAAyBo2B,EAAA,YAAAp2B,EAAA,KAAAhB,EAAA+W,KAAA,IAAA/V,EAAA,YAGzB,GAAAhB,EAAAG,OAAA,GACAwwB,GAAA,mBAAA3wB,EAAAQ,KAAA,KAAmD+7B,MAAArL,IACnD,CAiHA64C,CAAA3yC,EAAArwB,EAAA2D,EAAA2/B,IAEArqC,EAAAQ,KAAA,GACA,CACA,SAAAwpE,GAAA3/B,EAAAtjC,GACAA,IAAAA,EAAA,IACAsjC,EAAAl6B,MAAAk6B,EAAAl6B,IAAAwa,GAAA9kB,IACAwkC,EAAAl6B,MACAD,KAAcF,GAAAq6B,EAAAl6B,KAEdpJ,EAAAuvD,OAAA9sC,GAAA6gB,EAAAl6B,KAAmCpJ,EAAAuvD,OAAAjsB,EAAAl6B,IAAA,UACnCpJ,EAAAwvD,IAAAlsB,EAAAl6B,IACApJ,EAAA+gD,QAAA,GACAuO,GAAAtvD,EAAA+gD,QAAA,GAAiC,CAAGwO,OAAA,CAAQ2T,QAAA,MAE5C,IAAAnlE,EAAA,GACAA,EAAAiS,KAtSA,SAAAszB,EAAAtjC,GACA,IAAA/G,EAAA,GAKA,OAHAqqC,EAAAjK,OAAApgC,EAAA+W,KAtnYA,SAAAqpB,EAAAr5B,GACA,IAAA/G,EAAA,GAgBA,OAfA8oB,GAAA8Y,IAAAp+B,IAAA,SAAAiE,GACA,QAAAxH,EAAA,EAAiBA,EAAAy9B,GAAAv9B,SAAuBF,EAAA,GAAAy9B,GAAAz9B,GAAA,IAAAwH,EAAA,OAAAi2B,GAAAz9B,GACxC,IAAAA,EAAA,EAAaA,EAAA09B,GAAAx9B,SAAsBF,EAAA,GAAA09B,GAAA19B,GAAA,IAAAwH,EAAA,OAAAk2B,GAAA19B,GACnC,MAAAwH,CACA,GAAE8oB,QAAA,SAAA3d,GACF,SAAAwtB,EAAAxtB,EAAA,KACA,IAAAnL,EAAAV,GAAAA,EAAAq5B,OAAA,MAAAr5B,EAAAq5B,MAAAxtB,EAAA,IAAA7L,EAAAq5B,MAAAxtB,EAAA,IAAAwtB,EAAAxtB,EAAA,IAEA,SADAA,EAAA,KACAnL,EAAA,IAAAM,KAAAN,GAAAopB,cAAA3uB,QAAA,eAEA,iBAAAuF,EAAAA,EAAAnH,OAAAmH,IACA,IAAAA,IAAA,IAAAA,EAAuCA,EAAAA,EAAA,QACvCA,aAAAM,OAAAN,EAAA,IAAAM,KAAAN,GAAAopB,cAAA3uB,QAAA,cACAlC,EAAA+W,KAAA0Z,GAAAmR,GAAAhvB,EAAA,KAAAA,EAAA,GAAAnL,GARA,CASA,GACAkpB,GAAA,qBAAA3wB,EAAAQ,KAAA,KAAqD+7B,MAAArL,IACrD,CAomYAg5C,CAAA7/B,EAAAjK,MAAAr5B,IAEAsjC,EAAAq6B,WAAA1kE,EAAA+W,KArmYA,SAAAqpB,EAAAskC,GACA,IAAAyF,EAAA,4BACA7iE,EAAA,2BACAtH,EAAA,GA2BA,OA1BAogC,GAAAtX,GAAAsX,GAAA7P,QAAA,SAAA1Z,GAEA,GAAAsD,OAAA8O,UAAAC,eAAA1kB,KAAA47B,EAAAvpB,GAAA,CACA,QAAA5W,EAAA,EAAiBA,EAAAy9B,GAAAv9B,SAAuBF,EAAA,GAAA4W,GAAA6mB,GAAAz9B,GAAA,UACxC,IAAAA,EAAA,EAAaA,EAAA09B,GAAAx9B,SAAsBF,EAAA,GAAA4W,GAAA8mB,GAAA19B,GAAA,UACnC,IAAAA,EAAA,EAAaA,EAAAkqE,EAAAhqE,SAAsBF,EAAA,GAAA4W,GAAAszD,EAAAlqE,GAAA,OAEnC,IAAAwH,EAAA24B,EAAAvpB,GACA9R,EAAA,SACA,iBAAA0C,GAA6B1C,EAAA,QAAa0C,EAAAnH,OAAAmH,KAC1C,IAAAA,IAAA,IAAAA,GAAuC1C,EAAA,UAAe0C,EAAAA,EAAA,SACtDA,EAAAnH,OAAAmH,GACAzH,EAAA+W,KAAA4Z,GAAAhC,GAAA9X,GAAApP,EAAA,CAAwC,QAAA1C,IAVxC,CAWA,GACA2/D,GAAA57C,GAAA47C,GAAAn0C,QAAA,SAAA1Z,GAEA,GAAAsD,OAAA8O,UAAAC,eAAA1kB,KAAAkgE,EAAA7tD,MACAupB,IAAAjmB,OAAA8O,UAAAC,eAAA1kB,KAAA47B,EAAAvpB,IAAA,CACA,IAAApP,EAAAi9D,EAAA7tD,GACA9R,EAAA,SACA,iBAAA0C,GAA6B1C,EAAA,QAAa0C,EAAAnH,OAAAmH,KAC1C,IAAAA,IAAA,IAAAA,GAAuC1C,EAAA,UAAe0C,EAAAA,EAAA,SACtDA,aAAAM,MAA+BhD,EAAA,cAAmB0C,EAAAA,EAAAopB,eAClDppB,EAAAnH,OAAAmH,GACAzH,EAAA+W,KAAA4Z,GAAAhC,GAAA9X,GAAApP,EAAA,CAAwC,QAAA1C,IAPxC,CAQA,GACA,IAAAuC,EAAA,WAAA4pB,GAAA,KAAAlxB,EAAAQ,KAAA,SAAA8G,EAAA,GACA,CAskYA8iE,CAAA//B,EAAAjK,MAAAiK,EAAAq6B,YACA1kE,EAAAQ,KAAA,GACA,CA+RA6pE,CAAAhgC,EAAAtjC,IACAjC,EAAAiS,KA3RA,IA4RAjS,EAAAiS,KAAA,IACAjS,EAAAiS,KAAA,IACA,QAAA9W,EAAA,EAAgBA,EAAAoqC,EAAAtT,WAAA52B,SAA0BF,EAC1C6E,EAAAiS,KAAA4Z,GAAA,YAAA44C,GAAAtpE,EAAA8G,EAAAsjC,GAAA,CAA6D,UAAA3b,GAAA2b,EAAAtT,WAAA92B,OAG7D,OAFA6E,EAAA,GA7RA,SAAAulC,EAAAtjC,GAEA,IAAAo1B,EAAA,oEAQA,OAPAp1B,EAAA+gD,QAAAv3B,QAAA,SAAA22B,EAAArd,GACA,IAAA3wB,EAAA,GACAA,EAAAnC,KAAA4Z,GAAA,qBAAgD,YAAAjC,GAAA7oB,EAAAqhD,EAAAxwB,cAEhD,IAAA12B,EAAA,CAAkB,gBAAA6pC,IAClB1N,EAAAplB,KAAA4Z,GAAA,QAAAzX,EAAA1Y,KAAA,IAAAR,GACA,GACA2wB,GAAA,SAAAwL,EAAA37B,KAAA,IACA,CAkRA8pE,CAAAjgC,EAAAtjC,GACAjC,EAAA,GAjRA,SAAAulC,GACA,MAAAA,GAAA,IAAaowB,UAAA,IAAcsB,MAAA,SAI3B,IAFA,IAAAvI,EAAAnpB,EAAAowB,SAAAsB,MACA10D,EAAA,GACApH,EAAA,EAAgBA,EAAAuzD,EAAArzD,SAAkBF,EAAA,CAClC,IAAA8Q,EAAAyiD,EAAAvzD,GACA,MAAA8Q,EAAAirD,QACAjrD,EAAAm7B,KAAAvhC,MAAA,aACAtD,EAAA0P,KAAAkyD,GAAAl4D,IACA,CACA,OAAA4f,GAAA,QAAAtpB,EAAA7G,KAAA,IACA,CAqQA+pE,CAAAlgC,GACAhd,GAAAsD,GAAA,WAAA7rB,EAAAtE,KAAA,KACA+7B,MAAArL,GACA,UAAAA,GACA,UAAAA,GACA,WAAAA,GACA,WAxzcA,4CAyzcA,aAtzcA,mCAwzcA,CAqCA,IAAAs5C,GAAA,yBACA,SAAAC,GAAAC,EAAA1yD,EAAA1E,EAAAnT,EAAA4G,GACA,IAAA0H,EAAAtO,EACA+D,EAAA,GACAY,EAAAwO,EAAAxS,MAAAwS,EAAA7E,EAAA6E,EAAA7E,EAAAA,GACA,GAAA1H,GAAAA,EAAAlE,KAAAkE,EAAAlE,IAAA8nE,QAAA7lE,EAAA3E,OAAA,SAAAuqE,GACA,iGAEA,SACA,MACA,QACA3jE,EAAAlE,IAAA8nE,OAAA7lE,GAEAZ,EAAA6S,KAAAjS,GACAwO,EAAA7E,GAAAA,EAGA,IAFA,IAAAm8D,EAAAv5C,GAAA/d,EAAAA,EAAA7E,GAAAmmB,EAAAi2C,GAAAD,GACAzyD,EAAA,EACA,MAAAyc,GAAA41C,GAAA7qE,QAAAirE,IAAA,GACAn8D,EAAA4iB,GAAA/d,EAAAA,EAAA7E,EAAA,GACA0J,EAAA7E,EAAA7E,EAAA,EACA,MAAAm8D,EAAAzyD,GAAA,EACA,MAAAyyD,GAAA,MAAAA,IACAzyD,GAAA,IAEArT,EAAAwO,EAAAxS,MAAAqX,EAAA7E,EAAA7E,EAAA,EAAAA,GACAvK,EAAA6S,KAAAjS,GACAwO,EAAA7E,GAAA,EAAAA,EACAmmB,EAAAi2C,GAAAD,EAAAv5C,GAAA/d,EAAAA,EAAA7E,IAEA,IAAAuP,EAAA/Z,EAAAC,GACAqP,GAAAyK,EAAA,GACA,IAAA8sD,EAAA,EAAa9sD,EAAAmV,KAAA,GACb,QAAA5oB,EAAA,EAAgBA,EAAArG,EAAA/D,SAAiBoK,EAAOyT,EAAAmV,KAAApc,KAAA+zD,GAAiBA,GAAA5mE,EAAAqG,GAAApK,OACzD,GAAA6d,EAAA7d,OAAAA,EAAA,qBAAAuqE,EAAA9gE,SAAA,mBAAAoU,EAAA7d,OAAA,MAAAA,EACA,OAAA6X,EAAA1J,EAAA0P,EAAAA,EAAA7d,OAAA4G,EACA,CAEA,SAAAgkE,GAAAn4D,EAAA7L,EAAAe,GACA,SAAA8K,EAAA7N,GACA6N,EAAA6jB,GAAA,CACA,IAAAiL,EAAA,EACA,IACAA,EAAA9uB,EAAAmb,GAAAnb,EAAA6jB,GAAAC,UAAA,EACA3vB,EAAA4xC,SAAA/lC,EAAAmb,EAAAloB,EAAA67B,GACA,CAAG,MAAA/+B,GAAW,GAAAoE,EAAAupB,IAAA,MAAA3tB,CAAA,CACd,IAAAoE,IAAA,IAAAA,EAAA2xC,SAAA,IACA,MAAA9lC,EAAA7N,EAAoB6N,EAAAzJ,EAAAyJ,EAAAzJ,GAAAqtB,GAAA5jB,EAAA/N,GACpB,IAAA68B,GAAA,WAAAA,EACA,MAAA9uB,EAAA7N,GACA,EAAA6N,EAAA/N,KAAA+N,EAAA/N,EAAA+N,EAAAzJ,EAAAyJ,EAAA/N,EAAA+E,SAAA,IACAgJ,EAAAzJ,EAAAL,EAAA8J,EAAA/N,GAEA+N,EAAAzJ,EAAAQ,EAAAiJ,EAAA/N,GAEA+N,EAAAzJ,EAAAU,GAAA63B,EAAA9uB,EAAA/N,EAAA,CAAoCiD,WAAAA,EAAAsG,OAAArH,GAAAA,EAAAqH,QACpC,CAAG,MAAAzL,GAAW,GAAAoE,EAAAupB,IAAA,MAAA3tB,CAAA,CACd,GAAAoE,EAAA+wB,WAAA4J,GAAA,KAAA9uB,EAAA7N,GAAAgJ,GAAAlI,EAAA67B,IAAAphC,OAAAohC,IAAA,CACA,IAAA4gC,EAAAx7D,EAAA8L,EAAA/N,GAAqCy9D,IAAS1vD,EAAA7N,EAAA,IAAW6N,EAAA/N,EAAA,IAAAkD,KAAAu6D,EAAA96D,EAAA86D,EAAA76D,EAAA,EAAA66D,EAAAx9D,EAAAw9D,EAAA56D,EAAA46D,EAAA36D,EAAA26D,EAAA16D,EAAA06D,EAAA/6D,GACzD,CAnBA,CAoBA,CAEA,SAAAyjE,GAAA/gE,EAAAg/B,EAAAlkC,GACA,OAAUF,EAAAoF,EAAAg/B,KAAAA,EAAAlkC,EAAAA,EACV,CA8fA,IAAAkmE,GACA,mCADAA,GAEA,mCAgDA,SAAAC,GAAA1xD,EAAArF,GAKA,IAAAg3D,EAAAnuC,EAeAouC,EAEAt/C,EAhBA,GALA3X,IAAAA,EAAA,IACA60D,GAAA70D,GACAtU,IACAsU,EAAA46B,UAAAtvC,EAAA0U,EAAA46B,UAEAv1B,EAAA5E,UAAA,CACA,GAAApC,GAAAmH,KAAAH,EAAA,yBAAAxV,MAAA,8BACAmnE,EAAA34D,GAAAmH,KAAAH,EAAA,YACAwjB,EAAAxqB,GAAAmH,KAAAH,EAAA,cAAAhH,GAAAmH,KAAAH,EAAA,QACA,KAAE,CACF,OAAArF,EAAApK,MACA,aAAAyP,EAAAnW,EAAApB,EAAAuX,IAAgD,MAChD,aAAAA,EAAAnW,EAAAmW,GAAiC,MACjC,mBACA,YAAAtW,MAAAW,QAAA2V,KAAAA,EAAAtW,MAAA+lB,UAAAnoB,MAAA0D,KAAAgV,IAEAjG,GAAAiG,EAAA,GACAwjB,EAAA,CAAQvkB,QAAAe,EACR,CAKA,GADA2xD,GAzqBA,SAAA/hD,GACA,IAAAvkB,EAAA,GACA7E,EAAAopB,EAAA3Q,QASA,GALAzY,EAAAyO,EAAA,GAEA5J,EAAAwmE,aAAArrE,EAAAyT,WAAA,gBACA5O,EAAAymE,oBAv/aA,SAAAtrE,GAAgD,OAAA26B,GAAA36B,EAAA,GAu/ahDurE,CAAAvrE,GAEAA,EAAAG,OAAAH,EAAAyO,GAAA,SAAA5J,EAEA,IAAA4C,EAAAzH,EAAAyT,WAAA,GACA,GAAAhM,GAAAA,EAAA,KACAzH,EAAAyO,GAAA,EAAS5J,EAAA2mE,UAAAxrE,EAAAyT,WAAA,gBAETzT,EAAAG,OAAAH,EAAAyO,GAAA,GAEA,cADAhH,EAAAzH,EAAAyT,WAAA,MAEA5O,EAAA4mE,uBAjgbA,SAAAzrE,GAAmD,OAAA26B,GAAA36B,EAAA,GAigbnD0rE,CAAA1rE,GAGA,IADAyH,EAAAzH,EAAAyT,WAAA,KACAhM,EAAA,KACAzH,EAAAyO,GAAA,EAAS5J,EAAA8mE,UAAA3rE,EAAAyT,WAAA,cACT,CAgpBAm4D,CAAAT,GACAh3D,EAAA20D,YAAA30D,EAAA00D,WAAAuC,EAAA,CAA4D,MAC5D,CACA,IAAA9jE,EAAAnF,EAAA,iBACA,GAAA66B,GAAAA,EAAAvkB,QAAA2yD,EAxkBA,SAAA93D,EAAAa,GACA,IAUA03D,EAAApgE,EAAAqgE,EAAAC,EAAAC,EAGAC,EACAC,EA8DA3mB,EA5EAlb,EAAA,CAAYtjC,KAAA,IACZiwB,EAAA,GAEA3vB,EAAA8M,EAAAgjB,MAAA,MACAg1C,EAAA,GACA72C,EAAA,CAA0B,EAC1B82C,EAAA,KACA9tB,EAAA,GACA+tB,EAAA,GACAC,EAAA,GACAC,EAAA,GACAxY,EAAA,GACAG,EAAA,GAGAsY,EAAA,GACAC,EAAA,GACAhS,EAAA,CAAiCzjC,OAAA,GAAAipC,QAAA,CAAoBn4D,UAAA,GAAemzD,MAAA,MAAciM,EAAA,GAClFwF,EAAA,SAAAtmB,GACA,OAAAA,EAAA,EAAAjrB,GAAAirB,GACAA,EAAA,IAAAqmB,EAAArmB,EAAA,IACAjrB,GAAAirB,EACA,EAUAumB,EAAA,SAAA13C,EAAAjgB,EAAAb,GACA,KAAAy4D,EAAA,GACAz4D,EAAAg7B,WAAAla,EAAA5oB,GAAA8H,EAAAg7B,WAAA,CAUA,GATAh7B,EAAAu5B,YAAA14B,EAAAyhB,IAAAzhB,EAAAyhB,GAAA12B,MAZA,SAAAk1B,EAAAjgB,EAAAb,GACA,IAIApP,EAJA8nE,EAAA73D,EAAAyhB,GAAA12B,KACA8sE,GAAAA,EAAApmB,aAAAtyC,GAAAA,EAAAu5B,aACA14B,EAAA1R,EAAA,CAAc,EACd0R,EAAA1R,EAAAmjD,YAAAomB,EAAApmB,aAEA1hD,EAAAy9C,GAAAkqB,EAAAG,EAAAC,aAA4C93D,EAAA1R,EAAAqjD,QAAA,CAAkBjsB,IAAA31B,KAC9DA,EAAAy9C,GAAAkqB,EAAAG,EAAAE,aAA4C/3D,EAAA1R,EAAAojD,QAAA,CAAkBhsB,IAAA31B,IAC9D,CAIAioE,CAAA/3C,EAAAjgB,EAAAb,UACAa,EAAAi0B,YAAoBj0B,EAAAyhB,GACpBo1C,EAAA52C,EACAs3C,EAAA/2C,GAAAP,GACAK,GAAAA,EAAAhyB,GAAAgyB,EAAA3yB,IAAA2yB,EAAA,CAA8ChyB,EAAA,CAAG+I,EAAA,EAAAvI,EAAA,GAAQnB,EAAA,CAAI0J,EAAA,EAAAvI,EAAA,KAC7DmxB,EAAA5oB,EAAAipB,EAAAhyB,EAAA+I,IAAAipB,EAAAhyB,EAAA+I,EAAA4oB,EAAA5oB,GACA4oB,EAAAnxB,EAAAwxB,EAAAhyB,EAAAQ,IAAAwxB,EAAAhyB,EAAAQ,EAAAmxB,EAAAnxB,GACAmxB,EAAA5oB,EAAA,EAAAipB,EAAA3yB,EAAA0J,IAAAipB,EAAA3yB,EAAA0J,EAAA4oB,EAAA5oB,EAAA,GACA4oB,EAAAnxB,EAAA,EAAAwxB,EAAA3yB,EAAAmB,IAAAwxB,EAAA3yB,EAAAmB,EAAAmxB,EAAAnxB,EAAA,GACAqQ,EAAA0lD,aAAA7kD,EAAA1G,EACA,QAAA2+D,EAAA,EAAoBA,EAAA/Y,EAAA/zD,SAAqB8sE,EACzC,KAAA/Y,EAAA+Y,GAAA,GAAA3pE,EAAAQ,EAAAmxB,EAAAnxB,GAAAowD,EAAA+Y,GAAA,GAAA3pE,EAAA+I,EAAA4oB,EAAA5oB,GACA6nD,EAAA+Y,GAAA,GAAAtqE,EAAAmB,EAAAmxB,EAAAnxB,GAAAowD,EAAA+Y,GAAA,GAAAtqE,EAAA0J,EAAA4oB,EAAA5oB,GAAA,CACA2I,EAAA4zB,EAAAzS,GAAA+9B,EAAA+Y,GAAA,IACA/Y,EAAA+Y,GAAA,GAAA3pE,EAAAQ,GAAAmxB,EAAAnxB,GAAAowD,EAAA+Y,GAAA,GAAA3pE,EAAA+I,GAAA4oB,EAAA5oB,UAAA2I,EAAA1G,EACA0G,EAAA1G,IAAA0G,EAAA1G,EAAA,GAAA0kD,GAAAkB,EAAA+Y,GAAA,GAAA33C,EAAAL,EAAAw9B,EAAA1rD,IACA,KAJA,CAQAoN,EAAAgjB,OACA9vB,EAAA4tB,EAAA5oB,KAAAhF,EAAA4tB,EAAA5oB,GAAA,IACAhF,EAAA4tB,EAAA5oB,GAAA4oB,EAAAnxB,GAAAkR,GACK3N,EAAAklE,GAAAv3D,CAxBL,CA0BA,EACAjO,EAAA,CACAlE,KAAA,EACAkpC,MAAA,EACA0N,OAAA,GACAsa,QAAAA,EACAG,OAAAA,EACAgZ,QAAA,GACAC,SAAA,GACA/3C,KAAA,EACA2Z,SAAA,EACAq+B,UAAA,EACA1/B,aAAAv5B,KAAAA,EAAAu5B,WACApd,MAAAnc,KAAAA,EAAAk5D,KAEAl5D,EAAAmtC,WAAAv6C,EAAAu6C,SAAAntC,EAAAmtC,UAEA,IAAA6a,EAAA,GACAwN,EAAA,GACAh1B,EAAA,GAAAD,EAAA,GACAytB,GAAA,EACA1P,EAAA,GACAA,EAAA17B,WAAAhwB,EAAA0yC,OACAgZ,EAAAsB,QAAAhtD,EAAAgtD,QACAtB,EAAAyB,OAAAntD,EAAAmtD,OACAzB,EAAAe,MAAA,GACAf,EAAAC,IAAA,GACA,IAIA4a,EAJAC,EAAA,EACAX,EAAA,EACAY,EAAA,EAAAC,EAAA,GACAC,EAAA,GAIA3mE,EAAAgoC,SAAA,KACAnvC,EAAA,MAEA,IADA,IAAA+tE,GAAA,EACAr6D,EAAA7E,EAAA6E,EAAAnT,OAAA,IACA,IAAAmD,EAAAgQ,EAAA7E,EACAi8D,EAAAp3D,EAAAG,WAAA,GACA,OAAAi3D,GAAA,KAAA6C,EAAA,MACA,IAAAptE,EAAAmT,EAAA7E,IAAA6E,EAAAnT,OAAA,EAAAmT,EAAAG,WAAA,GACAuE,EAAA6yD,GAAAH,GAGA,GAAA1yD,GAAAA,EAAA1J,EAAA,CACA,GAAA6F,EAAA00D,YACA,MAAA0E,GAAA,MAAA7C,EAAA,MAGA,GADA6C,EAAA7C,EACA,IAAA1yD,EAAA3L,GAAA,IAAA2L,EAAA3L,EAAA,CACA,IAAAglD,EAAA/9C,EAAAG,WAAA,GACA,GADiCtT,GAAA,GACjC4G,EAAAlE,KAAAwuD,IAAAqZ,KAAA,IAAArZ,IAAA,EAAAA,GAAA,KAAAqZ,EAAA,UAAA1mE,MAAA,gBAAAqtD,EAAA,KAAAqZ,GACA,IAAA1yD,EAAA3L,IACAiH,EAAA7E,GAAA,GAAmBtO,GAAA,GAEnB,CAEA,IAAA8J,EAAA,CAAwB,EAIxB,GAHAA,EAAA,KAAAygE,EAAA1yD,EAAA1J,EAAAgF,EAAAnT,EAAA4G,GACA0jE,GAAAC,EAAA1yD,EAAA1E,EAAAnT,EAAA4G,GAEA,GAAA6lE,IAAA,sBAAAjtE,QAAA4tE,GAAA,SACA,OAAA7C,GACA,QAEArgC,EAAAtjC,KAAA6mE,SAAAnT,EAAAwF,QAAAn4D,SAAAmC,EAAyD,MACzD,SAAAogC,EAAAtjC,KAAA8mE,cAAA,EAAiE,MACjE,QAGA,GAFA9mE,EAAAlE,MAAAyQ,EAAA7E,EAAA,GACA1H,EAAAlE,IAAAoH,GACAkK,EAAAmtC,SAAA,UAAAt9C,MAAA,8BACA,SAAAiG,EAAAw1C,MAAA,UAAAz7C,MAAA,iCACA,IAAAiG,EAAAw1C,MAAA,UAAAz7C,MAAA,yBACA,MACA,QAAA+C,EAAAomE,SAAAljE,EAAwD,MACxD,QACA,IAAA6jE,EAAA/iD,OAAA9gB,GAEA,OAAA6jE,GACA,WAAAA,EAAA,KAAkC,MAClC,WAAAA,EAAA,IAAkC,MAClC,WAAAA,EAAA,KAEAluE,EAAAmH,EAAAgoC,SAAA++B,GACAH,GAAA,EACA,MACA,SAAA5mE,EAAAmmE,QAAAjjE,EAAmD,MACnD,QAAAlD,EAAAqmE,UAAAnjE,EAAwD,MACxD,SAAAogC,EAAAtjC,KAAA,WAAAkD,EAA+D,MAC/D,QAAAogC,EAAAtjC,KAAA,UAAAkD,EAA6D,MAC7D,QAAAogC,EAAAtjC,KAAA,UAAAkD,EAA6D,MAC7D,QAAAogC,EAAAtjC,KAAA,SAAAkD,EAA2D,MAC3D,QAAAogC,EAAAtjC,KAAA,SAAAkD,EAA2D,MAC3D,QAAAogC,EAAAtjC,KAAA,cAAAkD,EAAqE,MACrE,QAAAogC,EAAAtjC,KAAA,eAAAkD,EAAuE,MACvE,QAAAlD,EAAAgnE,YAAA9jE,EAA2D,MAC3D,UAAAogC,EAAAtjC,KAAAinE,SAAA/jE,EAAoE,MACpE,SACAA,EAAAgkE,UAAA5mE,EAAA,mBACA4C,EAAAikE,UAAA7mE,EAAA,cAAAA,EAAA,iBAA8DwzD,OAAA,GAC9D5wD,EAAAkkE,UAAA9mE,EAAA,cAAAA,EAAA,iBAA8D2uD,MAAA,GAC9D,MACA,SACAwW,EAAAz1D,KAAA9M,GAAoB,MACpB,SACAwoD,EAAA17C,KAAA,CAAA9M,IACAwoD,EAAAA,EAAAtyD,OAAA,GAAAuyD,IAAA,GACA,MACA,iBACAD,EAAAA,EAAAtyD,OAAA,GAAA4W,KAAA9M,GACA,MACA,iBACAqjE,EAAA,CACAphC,KAAAjiC,EAAAiiC,KACA+vB,IAAAjJ,GAAA/oD,EAAAwiC,KAAAnX,EAAA,KAAAm9B,EAAA1rD,IAEAkD,EAAAsiC,KAAA,IAAA+gC,EAAAtR,MAAA/xD,EAAAsiC,KAAA,GACAkmB,EAAAe,MAAAz8C,KAAAu2D,GACA7a,EAAA,KAAwBA,EAAA,MAAkBA,EAAA,GAAAC,IAAA,IAC1CD,EAAAA,EAAAtyD,OAAA,GAAA4W,KAAA9M,GACA,yBAAAA,EAAAiiC,MAAAjiC,EAAAsiC,KAAA,GACAtiC,EAAAwiC,MAAAxiC,EAAAwiC,KAAA,IAAAxiC,EAAAwiC,KAAA,oBAAAxiC,EAAAwiC,KAAA,WACAihC,EAAAzjE,EAAAsiC,KAAA,IAAyCU,IAAA9W,GAAAlsB,EAAAwiC,KAAA,eACzC,MACA,QAAA1lC,EAAAqnE,YAAAnkE,EAA2D,MAC3D,QACA,GAAAwoD,EAAAtyD,SAAgCsyD,EAAA,MAAkBA,EAAA,GAAAC,IAAA,IAClDD,EAAAA,EAAAtyD,OAAA,GAAAuyD,IAAAD,EAAAA,EAAAtyD,OAAA,GAAAuyD,IAAAvuD,OAAA8F,GAAwFwoD,EAAAC,IAAAD,EAAAC,IAAAvuD,OAAA8F,GAAyC,MACjI,UAEA,GAAAlD,EAAAquB,KAAA,QACA,MAAAk4C,IAAAA,EAAArM,QAAAh3D,EAAA,IACA,MACA,QAAA5C,EAAA,YAAA4C,EAAsD,MACtD,YAAAA,GAAAlD,EAAAupB,KAAAnO,QAAAC,MAAA,sBAAAnY,GAAsG,MACtG,SACAkiE,EAAAliE,EAAA8pB,KAAA9pB,EACAlD,EAAA0yC,OAAA1iC,KAAA9M,EAAAoN,MACM,MACN,QACA,KAAAu1D,EAAA,MACA,GAAAt3C,EAAA3yB,EAAA,CACA,GAAA2yB,EAAA3yB,EAAA0J,EAAA,GAAAipB,EAAA3yB,EAAAmB,EAAA,GAGA,GAFAwxB,EAAA3yB,EAAA0J,IAAoBipB,EAAA3yB,EAAAmB,IACpBuD,EAAA,QAAA8uB,GAAAb,GACAnhB,EAAAg7B,WAAAh7B,EAAAg7B,WAAA7Z,EAAA3yB,EAAA0J,EAAA,CACA,IAAAgiE,EAAA/4C,EAAA3yB,EAAA0J,EACAipB,EAAA3yB,EAAA0J,EAAA8H,EAAAg7B,UAAA,EACA9nC,EAAA,YAAAA,EAAA,QACAA,EAAA,QAAA8uB,GAAAb,GACAA,EAAA3yB,EAAA0J,EAAAgiE,CACA,CACA/4C,EAAA3yB,EAAA0J,IAAoBipB,EAAA3yB,EAAAmB,GACpB,CACAq4D,EAAAh8D,OAAA,IAAAkH,EAAA,WAAA80D,GACAwN,EAAAxpE,OAAA,IAAAkH,EAAA,YAAAsiE,GACAh1B,EAAAx0C,OAAA,IAAAkH,EAAA,SAAAstC,GACAD,EAAAv0C,OAAA,IAAAkH,EAAA,SAAAqtC,GACA+lB,EAAAzjC,OAAAjgB,KAAAmwD,EACA,CACA,KAAAmF,EAAAC,EAAAjlE,EAA0C2vB,EAAAq1C,GAAAhlE,EAC1CA,EAAA8M,EAAAgjB,MAAA,MACM,MACN,oCAiBA,GAhBA,IAAApwB,EAAAquB,OAAAruB,EAAAquB,KAAA,CACA,IACA,MACA,QACMs1C,IAAA,CACN,MACA,MACA,OACA,OACA,OACA,IACA,KACMzgE,EAAAkgC,UAAA,GACNpjC,EAAAunE,UAAA,GAAArkE,EAAAkgC,QACA,GAAAlgC,EAAAkgC,SAAA,MAAAlgC,EAAA8E,KAAgDhI,EAAAquB,KAAA,EAAeu4C,GAAA,EAAsB/tE,EAAAmH,EAAAgoC,SAAA,QACrF,GAAAhoC,EAAAquB,MAAA,GAAAnrB,EAAAkgC,SAAA,IAAAlgC,EAAA8E,KAAAhI,EAAAquB,KAAA,GACAw3C,IAAA,MAKA,GAJAvlE,EAAA8M,EAAAgjB,MAAA,MAEApwB,EAAAquB,KAAA,IAAAu4C,IAA2CA,GAAA,EAAsB/tE,EAAAmH,EAAAgoC,SAAA56B,EAAA46B,UAAA,OAEjEhoC,EAAAquB,KAAA,MAAAnrB,EAAAkgC,SAAA,MAAAlgC,EAAA8E,GAAA,CACA,KAAAs9D,IAAAA,EAAA,UACA/2C,EAAA,CAAehyB,EAAA,CAAG+I,EAAA,EAAAvI,EAAA,GAAQnB,EAAA,CAAI0J,EAAA,EAAAvI,EAAA,IAE9B,IAAAyqE,EAAA,CAAqBx6C,IAAAzgB,EAAA7E,EAAAtO,EAAAkX,KAAAg1D,GACrBF,EAAAoC,EAAAx6C,KAAAw6C,EACAxnE,EAAA0yC,OAAA1iC,KAAAs1D,EACA,MACAA,GAAAF,EAAA7oE,IAAA,CAAwC+T,KAAA,KAAQA,KAChD,IAAApN,EAAA8E,KAAA1H,EAAA,kBACA,IAAA4C,EAAA8E,KAAA1H,EAAA,kBACA80D,EAAA,GACAwN,EAAA,GACA5iE,EAAAmtD,OAAAA,EAAA,GACAvf,EAAA,GAAmBD,EAAA,GACnBytB,GAAA,EACA+E,EAAA,CAAgBnG,QAAAoL,EAAA7oE,IAAA,CAAuBinC,GAAA,IAAKA,GAAAlzB,KAAAg1D,GACtC,MACN,uBACA,SAAAhlE,EAAA,WAAA8M,EAAAgjB,OAAA9vB,EAAA4C,EAAAoC,IAAA,IAAApC,EAAAnG,GAAAuD,EAAAmuB,GAAA,CAA8F1xB,EAAAmG,EAAAnG,EAAAuI,EAAApC,EAAAoC,SAAiBpC,EAAAnG,EAC/GmoE,EAAA,CAAkBhjC,KAAAh/B,EAAAg/B,KAAAxS,GAAA+1C,EAAAviE,EAAAg/B,OAAA,GAAqCpkC,EAAAoF,EAAAA,IAAAlF,EAAA,KACvDyoE,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAA,CAAc7oE,EAAAmG,EAAAnG,EAAAuI,EAAApC,EAAAoC,GAAiB4/D,EAAA93D,GACzB,MACN,gBACA83D,EAAA,CAAkBhjC,KAAAh/B,EAAAg/B,KAAAxS,GAAA+1C,EAAAviE,EAAAg/B,MAAApkC,EAAAoF,EAAAA,IAAAlF,EAAAkF,EAAAlF,GAClByoE,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAA,CAAc7oE,EAAAmG,EAAAnG,EAAAuI,EAAApC,EAAAoC,GAAiB4/D,EAAA93D,GACzB,MACN,SACA83D,EAAA,CAAkBhjC,KAAAh/B,EAAAg/B,KAAAxS,GAAA+1C,EAAAviE,EAAAg/B,MAAApkC,EAAAoF,EAAAukE,MAAAzpE,EAAA,KAClByoE,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAA,CAAc7oE,EAAAmG,EAAAnG,EAAAuI,EAAApC,EAAAoC,GAAiB4/D,EAAA93D,GACzB,MACN,SACA,QAAA5J,EAAAN,EAAAnG,EAAwByG,GAAAN,EAAAqI,IAAY/H,EAAA,CACpC,IAAA0+B,GAAAh/B,EAAAwkE,MAAAlkE,EAAAN,EAAAnG,GAAA,GACAmoE,EAAA,CAAkBhjC,KAAAA,GAAAxS,GAAA+1C,EAAAvjC,IAAApkC,EAAAoF,EAAAwkE,MAAAlkE,EAAAN,EAAAnG,GAAA,GAAAiB,EAAA,KAClByoE,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAA,CAAe7oE,EAAAyG,EAAA8B,EAAApC,EAAAoC,GAAa4/D,EAAA93D,EAC5B,CACM,MACN,0BACA,aAAAlK,EAAAA,IAAA,CAA+BmiE,EAAAniE,EAAoB,MAGnD,IAFAgiE,EAAAjB,GAAA/gE,EAAAA,IAAAA,EAAAgrB,KAAAgU,KAAAh/B,EAAAG,KACAqsB,GAAA+1C,EAAAP,EAAAhjC,MACA90B,EAAA0lD,YAAA,CACA,IAAAxpB,GAAApmC,EAAAmrC,QACA,GAAA/E,IAAAA,GAAA,IAAAA,GAAA,iBAAAA,GAAA,UACA,IAAAq+B,GAAAr+B,GAAA,YAAAs+B,GAAAt+B,GAAA,YACAu+B,GAAAp5C,GAAA,CAA8BnpB,EAAAqiE,GAAA5qE,EAAA6qE,KAC9B5a,EAAA6a,IAAA3C,EAAA39D,EAAA,GAAA0kD,GAAA/oD,EAAAmrC,QAAA9f,EAAArrB,EAAAgrB,KAAAw9B,EAAA1rD,GACAklE,EAAArjC,IAAAz0B,EAAAgjB,OAAA9vB,EAAAqnE,KAAA,IAAAC,IAAAtnE,EAAAunE,MAAA,IAA+EhmC,CAC/E,MAAQqjC,EAAA39D,EAAA,GAAA0kD,GAAA/oD,EAAAmrC,QAAA9f,EAAArrB,EAAAgrB,KAAAw9B,EAAA1rD,EACR,CACAymE,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAA1iE,EAAAgrB,KAAAg3C,EAAA93D,GACAi4D,EAAAniE,EACM,MACN,gBACA,IAAAmiE,EAWO,UAAApoE,MAAA,iCAVPooE,EAAAniE,IAAAA,GACAgiE,EAAAjB,GAAA/gE,EAAAmiE,EAAAn3C,KAAAgU,KAAA,MACAxS,GAAA+1C,EAAAP,EAAAhjC,MACA90B,EAAA0lD,cACAoS,EAAA39D,EAAA,GAAA0kD,GAAAoZ,EAAAh3B,QAAA9f,EAAA82C,EAAAn3C,KAAAw9B,EAAA1rD,IAEAymE,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAAP,EAAAn3C,KAAAg3C,EAAA93D,GACAi4D,EAAA,KAEM,MACN,iBACAlY,EAAAn9C,KAAA9M,GACA,IAAA4kE,GAAAr5C,GAAAvrB,EAAA,GAAA3G,GAEA,GADAmI,EAAA0I,EAAAgjB,OAAA9vB,EAAA4C,EAAA,GAAA3G,EAAA+I,IAAA,IAAApC,EAAA,GAAA3G,EAAAQ,GAAAuD,EAAAwnE,IACA16D,EAAA0lD,aAAApuD,EAAA,CACA,IAAA2gE,EAAA,MACA,IAAAyC,KAAApjE,EAAA,MACAA,EAAA6C,EAAA,GAAA0kD,GAAA/oD,EAAA,GAAAqrB,EAAArrB,EAAA,GAAAwoD,EAAA1rD,GACA0E,EAAAm9B,EAAAzS,GAAAlsB,EAAA,GACA,CACM,MACN,UACA,IAAAkK,EAAA0lD,YAAA,MACA,GAAA0S,EAAA,CAEA,IAAAH,EAAA,MACArY,EAAAv+B,GAAA42C,EAAAn3C,OAAAhrB,EAAA,KACAwB,EAAA0I,EAAAgjB,OAAA9vB,EAAA+kE,EAAAn3C,KAAA5oB,IAAA,IAAA+/D,EAAAn3C,KAAAnxB,GAAAuD,EAAAmuB,GAAA42C,EAAAn3C,SACA,IAAa3mB,EAAA,GAAA0kD,GAAA/oD,EAAA,GAAAqrB,EAAAu2C,EAAApZ,EAAA1rD,EACb,CACM,MACN,SACAklE,EAAAjB,GAAA1sB,EAAAr0C,EAAA6kE,MAAA/pE,EAAAkF,EAAAg/B,KAAA,KACAqV,EAAAr0C,EAAA6kE,MAAA1wD,IAAA6tD,EAAA7tD,EAAAkgC,EAAAr0C,EAAA6kE,MAAA1wD,GACA6tD,EAAAx1C,GAAA+1C,EAAAP,EAAAhjC,MACAukC,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAA,CAAc7oE,EAAAmG,EAAAnG,EAAAuI,EAAApC,EAAAoC,GAAiB4/D,EAAA93D,GAC/B,MACA,SAAAA,EAAA0jB,aACAo0C,EAAA,CAAkBhjC,KAAAh/B,EAAAg/B,KAAAxS,GAAA+1C,EAAAviE,EAAAg/B,MAAAlkC,EAAA,KAClByoE,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAA,CAAc7oE,EAAAmG,EAAAnG,EAAAuI,EAAApC,EAAAoC,GAAiB4/D,EAAA93D,IACzB,MACN,YAAAA,EAAA0jB,WACA,QAAAk3C,GAAA9kE,EAAAnG,EAAyBirE,IAAA9kE,EAAAqI,IAAay8D,GAAA,CACtC,IAAAC,GAAA/kE,EAAAg/B,KAAA8lC,GAAA9kE,EAAAnG,GACAmoE,EAAA,CAAkBhjC,KAAA+lC,GAAAv4C,GAAA+1C,EAAAwC,IAAAjqE,EAAA,KAClByoE,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAA,CAAe7oE,EAAAirE,GAAA1iE,EAAApC,EAAAoC,GAAc4/D,EAAA93D,EAC7B,CACM,MACN,SACA,iBACA83D,EAAAjB,GAAA/gE,EAAAA,IAAAA,EAAAg/B,KAAA,MACAxS,GAAA+1C,EAAAP,EAAAhjC,MACAukC,EAAA,IAAAvB,EAAAl+C,EAAA0/C,EAAAxB,EAAAhjC,MAAA,OACA8hC,GAAAkB,EAAA93D,EAAAk2B,EAAAtjC,KAAA6mE,UACAjB,EAAA,CAAc7oE,EAAAmG,EAAAnG,EAAAuI,EAAApC,EAAAoC,GAAiB4/D,EAAA93D,GAC/B,MAEA,gBACA,IAAAy4D,IAAAt3C,EAAArrB,GACM,MACN,SACAq0C,EAAAr0C,EACM,MACN,UACA,MAAAlD,EAAAquB,KAAA,CACAq4C,EAAAD,KAAAvjE,EAAA,GACA,QAAAglE,GAAA,EAAyBA,GAAAzB,EAAA,KAAwB3nE,EAAAopE,KAAAhlE,EAAA,KAAAglE,IACjDA,IAAA,KAAAn/D,GAAA7F,EAAA,GAAAujE,EAAA,IACA,MACA19D,GAAA7F,EAAA,GAAAA,EAAA,IACM,MACN,QACAwjE,EAAAD,KAAAvjE,EACA,QAAAilE,GAAA,EAAwBA,GAAA1B,EAAA,KAAwB3nE,EAAAqpE,KAAAjlE,IAAAilE,IAChDA,IAAA,KAAAp/D,GAAA7F,EAAAujE,EAAA,KACM,MAEN,SAAArR,EAAAA,EAAAh4D,OAAA8F,GAA+D,MAE/D,QAAA0/D,EAAA1/D,EAAAklE,IAAA,IAAApoE,EAAAqoE,QAAAnlE,EAAqE,MACrE,SAAAlD,EAAAqoE,QAAAC,IAAAplE,EAAmD,MACnD,SAAAlD,EAAAqoE,QAAAE,OAAArlE,EAAyD,MAEzD,SACA,IAAA+hE,EAAA/hE,EAAA,GAAA3G,EAAA+I,EAA4B2/D,GAAA/hE,EAAA,GAAAtH,EAAA0J,IAAoB2/D,EAChD,IAAAD,EAAA9hE,EAAA,GAAA3G,EAAAQ,EAA6BioE,GAAA9hE,EAAA,GAAAtH,EAAAmB,IAAoBioE,GACjDtgE,EAAA0I,EAAAgjB,OAAA9vB,EAAA2kE,IAAA,IAAAD,GAAA1kE,EAAAmuB,GAAA,CAAqE1xB,EAAAioE,EAAA1/D,EAAA2/D,QACrEvgE,EAAAgD,EAAAxE,EAAA,IAEM,MACN,UACA,IAAA+hE,EAAA/hE,EAAA,GAAA3G,EAAA+I,EAA4B2/D,GAAA/hE,EAAA,GAAAtH,EAAA0J,IAAoB2/D,EAChD,IAAAD,EAAA9hE,EAAA,GAAA3G,EAAAQ,EAA6BioE,GAAA9hE,EAAA,GAAAtH,EAAAmB,IAAoBioE,GACjDtgE,EAAA0I,EAAAgjB,OAAA9vB,EAAA2kE,IAAA,IAAAD,GAAA1kE,EAAAmuB,GAAA,CAAqE1xB,EAAAioE,EAAA1/D,EAAA2/D,OACrEvgE,EAAAgD,IAAAhD,EAAAgD,EAAA++B,QAAAvjC,EAAA,IAEM,MACN,QACA,GAAAlD,EAAAquB,MAAA,GAAAruB,EAAAquB,MAAA,QACA3pB,EAAA0I,EAAAgjB,OAAA9vB,EAAA4C,EAAA,GAAAoC,IAAA,IAAApC,EAAA,GAAAnG,GAAAuD,EAAAmuB,GAAAvrB,EAAA,KACA,IAAAslE,GAAA5F,EAAA1/D,EAAA,IACAwB,IACA0I,EAAAgjB,OACA9vB,EAAA4C,EAAA,GAAAoC,KAAAhF,EAAA4C,EAAA,GAAAoC,GAAA,IACAZ,EAAApE,EAAA4C,EAAA,GAAAoC,GAAApC,EAAA,GAAAnG,GAAA,CAAwCiB,EAAA,MAExC0G,EAAApE,EAAAmuB,GAAAvrB,EAAA,MAAyClF,EAAA,KAEzCuwB,EAAA3yB,EAAA0J,EAAAjH,KAAAgI,IAAAkoB,EAAA3yB,EAAA0J,EAAApC,EAAA,GAAAoC,GACAipB,EAAAhyB,EAAA+I,EAAAjH,KAAA+H,IAAAmoB,EAAAhyB,EAAA+I,EAAApC,EAAA,GAAAoC,GACAipB,EAAA3yB,EAAAmB,EAAAsB,KAAAgI,IAAAkoB,EAAA3yB,EAAAmB,EAAAmG,EAAA,GAAAnG,GACAwxB,EAAAhyB,EAAAQ,EAAAsB,KAAA+H,IAAAmoB,EAAAhyB,EAAAQ,EAAAmG,EAAA,GAAAnG,IAEA2H,EAAA3H,IAAA2H,EAAA3H,EAAA,IACAgoE,EAAA,CAAahtD,EAAA7U,EAAA,GAAAlF,EAAAwqE,GAAAF,IAAAtqE,GACb0G,EAAA3H,EAAAiT,KAAA+0D,GACM,MACN,UAAA1gB,GAAAohB,EAAAviE,EAAAg/B,MAAAh/B,EAAAsa,KAAmE,MACnE,SACA,IAAAxd,EAAA2mC,WAAA,MACA,KAAAzjC,EAAAtH,GAAAsH,EAAA3G,GACAqxC,EAAA1qC,EAAAtH,KAAA,CAA2BmlC,MAAA79B,EAAAd,EAAA,IAAA2kC,MAAA7jC,EAAA6jC,OAAA,EAAA2H,UAAA,EAAAxrC,EAAAuJ,QAC3B2uD,IAAqBA,GAAA,EAAgB1e,GAAAx5C,EAAAd,EAAA,MACrCusC,GAAAf,EAAA1qC,EAAAtH,EAAA,IAEM,MACN,SACA,IAAAy2D,GAAA,GACA,MAAAnvD,EAAA6jC,QAA6B4G,EAAAzqC,EAAAoC,GAAA+sD,GAAyBA,GAAAtrB,MAAA7jC,EAAA6jC,OACtD7jC,EAAAwrC,SAAsBf,EAAAzqC,EAAAoC,GAAA+sD,GAAyBA,GAAA3jB,QAAA,GAC/CxrC,EAAA0rC,MACAjB,EAAAzqC,EAAAoC,GAAA+sD,GACAA,GAAAzjB,IAAA1rC,EAAA0rC,IAA4ByjB,GAAAxjB,IAAAC,GAAA5rC,EAAA0rC,MAEtB,MACN,QACA,QACA,QACA,QACAtuC,EAAA,aAAAuuD,GAAAvuD,EAAA,gBACAA,EAAA,aAAuB,2CAAsDqjE,IAAAzgE,EAC7E,MACA,SACA5C,EAAA,aAAAuuD,GAAAvuD,EAAA,gBACAA,EAAA,YAAA0O,OAAA9L,EAAA8L,OACA1O,EAAA,YAAA+uD,OAAAnsD,EAAAmsD,OACA,MACA,SAEAnsD,EAAAkxD,MAAAV,EAAAQ,MAAA,GAAAE,KAAA,GACA,MACA,SAAAsR,EAAAxiE,EAA8C,MAC9C,UAAAs7C,EAAAt7C,EAA2C,MAC3C,SAAAiiE,EAAAjiE,EAA8C,MAC9C,SAEAoiE,EACAnF,EAAAxP,SAAAztD,GAAAi9D,EAAA7vD,KADAojD,EAAAwF,QAAAvI,SAAAztD,GAAA,eAIA,MACA+N,GAAAmK,QAAAC,MAAA,iCAAAsoD,EAAA9gE,SAAA,KACA0J,EAAA7E,GAAAtO,CAEA,CAkBA,OAjBAkqC,EAAAtT,WAAAjO,GAAAqjD,GAAA7xD,KAAA,SAAAwE,EAAAd,GAAoD,OAAA+M,OAAAjM,GAAAiM,OAAA/M,EAAA,GAA+Bxa,IAAA,SAAAxC,GAAkB,OAAAmrE,EAAAnrE,GAAAqW,IAAA,GACrGlD,EAAA00D,aAAAx+B,EAAArT,OAAAA,IACAqT,EAAAtT,WAAA52B,QAAAmsE,EAAA,SACAjiC,EAAAtT,WAAAhgB,KAAA,UAEAszB,EAAArT,SAAAqT,EAAArT,OAAA,OAAAs1C,IAEGjiC,EAAAiiC,SAAAA,EACHjiC,EAAArT,QAAA02C,EAAAn9C,QAAA,SAAAlkB,EAAApM,GAAuDoqC,EAAArT,OAAAqT,EAAAtT,WAAA92B,IAAA,eAAAoM,CAAA,GACvDg+B,EAAA6tB,QAAA5Z,EACAjU,EAAAl6B,IAAAwa,GAAA9kB,GACAkB,EAAAlE,MAAAwnC,EAAAmlC,WAAAzoE,EAAAlE,KACA0iD,IAAAlb,EAAAogB,OAAAlF,GACAlb,EAAAolC,SAAA,QACA1/D,IAAAm8D,IAAA7hC,EAAAolC,SAAAC,QAAAxD,GACAzZ,EAAAe,MAAArzD,OAAA,IAAAs6D,EAAAsB,MAAAtJ,EAAAe,OACAnpB,EAAAowB,SAAAA,EACApwB,CACA,CAgFAslC,CAAA3yC,EAAAvkB,QAAAtE,QAEA,IAAA2X,EAAAtZ,GAAAmH,KAAAH,EAAA,wBAAAsS,EAAArT,QAAA2yD,EAAAlyB,GAAA3J,YAAAzjB,EAAArT,SAAAtE,EAAApK,KAAAzC,EAAA6M,QAEA,MAAA2X,EAAAtZ,GAAAmH,KAAAH,EAAA,yBAAAsS,EAAArT,QAEA,MAAAqT,EAAAtZ,GAAAmH,KAAAH,EAAA,SAAAsS,EAAArT,QAAA,IAAAzU,MAAA,oCACA,IAAAA,MAAA,+BAHAonE,EAAAlyB,GAAA3J,YAAAzjB,EAAArT,SAAAtE,EAAApK,KAAAzC,EAAA6M,GAGA,CACAA,EAAAy7D,SAAAp2D,EAAA5E,WAAApC,GAAAmH,KAAAH,EAAA,+BAAA4xD,EAAA7Q,OAx7NA,SAAA/gD,GACA,IAAAq2D,EAAAr9D,GAAApR,MAAA2kB,QAAA,CAAmC1R,KAAA,MAOnC,OANAmF,EAAA5E,UAAA2b,QAAA,SAAA3d,EAAA3S,GACA,SAAA2S,EAAA9R,OAAA,IAAA8R,EAAAjI,MAAA,qBAEA,IAAAmlE,EAAAl9D,EAAA1Q,QAAA,eAAAA,QAAA,gCACAsQ,GAAApR,MAAAuiB,QAAAksD,EAAAC,EAAAt2D,EAAA7E,UAAA1U,GAAAwY,QAFA,CAGA,GACAjG,GAAAoT,MAAAiqD,EACA,CA+6NAE,CAAAv2D,GACA,CAEA,IAAAmnB,EAAA,GAMA,OALAnnB,EAAA5E,WApFA,SAAA4E,EAAAmnB,EAAA3gC,GAEA,IAAAgwE,EAAAx9D,GAAAmH,KAAAH,EAAA,gCACA,GAAAw2D,GAAAA,EAAA53D,KAAA,MACA,IAAA63D,EAAAhqC,GAAA+pC,EAAAl1C,GAAAmwC,IACA,QAAAnmE,KAAAmrE,EAAAtvC,EAAA77B,GAAAmrE,EAAAnrE,EACA,CAAG,MAAAnC,GAAU,GAAA3C,EAAAswB,IAAA,MAAA3tB,CAAkB,CAG/B,IAAAutE,EAAA19D,GAAAmH,KAAAH,EAAA,wBACA,GAAA02D,GAAAA,EAAA93D,KAAA,MACA,IAAA+3D,EAAAlqC,GAAAiqC,EAAAn1C,GAAAkwC,IACA,QAAA3nE,KAAA6sE,EAAA,MAAAxvC,EAAAr9B,KAAAq9B,EAAAr9B,GAAA6sE,EAAA7sE,GACA,CAAG,MAAAX,GAAU,GAAA3C,EAAAswB,IAAA,MAAA3tB,CAAkB,CAE/Bg+B,EAAAyvC,cAAAzvC,EAAA0vC,gBACA7vC,GAAAG,EAAAyvC,aAAAzvC,EAAA0vC,cAAA1vC,EAAA3gC,UACA2gC,EAAAyvC,oBAA6BzvC,EAAA0vC,cAE7B,CAiEAC,CAAA92D,EAAAmnB,EAAAxsB,GAEAi3D,EAAAhrC,MAAAgrC,EAAA1G,UAAA/jC,EACAxsB,EAAAo8D,YAAAnF,EAAA5xD,IAAAA,GAEA4xD,CACA,CAuBA,IAAA92C,GAAA,CACA,GAAyBhmB,EAt1HzB,SAAAvO,EAAAI,GACA,IAAA4tB,EAAA,CAAY,EACZpa,EAAA5T,EAAA0O,EAAAtO,EACA4tB,EAAA1hB,EAAAtM,EAAA0T,WAAA,GACA1T,EAAA0O,GAAA,EACA,IAAAg8B,EAAA1qC,EAAA0T,WAAA,GACA1T,EAAA0O,GAAA,EACA,IAAA+E,EAAAzT,EAAA0T,WAAA,GAKA,OAJA1T,EAAA0O,EAAAkF,EACA,EAAAH,IAAAua,EAAA+f,MAAA,EAAAt6B,GACA,GAAAA,IAAAua,EAAA0nB,QAAA,GACA,GAAAjiC,IAAAua,EAAA4nB,IAAAlL,EAAA,IACA1c,CACA,GA00HA,GAAyBzf,EA/uHzB,SAAAvO,GAEA,OADA84B,GAAA94B,GAEA,GA6uHA,GAAyBuO,EA3nHzB,SAAAvO,GAGA,OAFA84B,GAAA94B,GACA05B,GAAA15B,GACA,IACA,GAwnHA,GAAyBuO,EAvsHzB,SAAAvO,GAGA,OAFA84B,GAAA94B,GACAA,EAAA0T,WAAA,GACA,IACA,GAosHA,GAAyBnF,EAhuHzB,SAAAvO,GAGA,OAFA84B,GAAA94B,GACAA,EAAA0T,WAAA,GACA,IACA,GA6tHA,GAAyBnF,EAtpHzB,SAAAvO,GAGA,OAFA84B,GAAA94B,GACAm6B,GAAAn6B,GACA,IACA,GAmpHA,GAAyBuO,EAhmHzB,SAAAvO,GAGA,OAFA84B,GAAA94B,GACAm4B,GAAAn4B,GACA,MACA,GA6lHA,GAAyBuO,EAhrHzB,SAAAvO,GAGA,OAFA84B,GAAA94B,GACAA,EAAA0T,WAAA,GACA,IACA,GA6qHA,GAAyBnF,EA1hHzB,SAAAvO,EAAAI,EAAA4G,GACA,IAAA4d,EAAA5kB,EAAA0O,EAAAtO,EACA80B,EAAA4D,GAAA94B,GACAk1B,EAAA5oB,EAAAtF,EAAA,QACA,IACA/G,EAAA,CAAAi1B,EADAiD,GAAAn4B,GACA,OACA,GAAAgH,EAAA8yD,YAAA,CACA95D,EAAA0O,GAAA,EACA,IAAA2mC,EAAAwf,GAAA70D,EAAA4kB,EAAA5kB,EAAA0O,EAAA1H,GACA/G,EAAA,GAAAgzD,GAAA5d,EAAA,EAAAngB,EAAAluB,EAAA0rD,SAAA1rD,EACA,MACAhH,EAAA0O,EAAAkW,EACA,OAAA3kB,CACA,GA8gHA,GAAyBsO,EA3iHzB,SAAAvO,EAAAI,EAAA4G,GACA,IAAA4d,EAAA5kB,EAAA0O,EAAAtO,EACA80B,EAAA4D,GAAA94B,GACAk1B,EAAA5oB,EAAAtF,EAAA,QACA,IACA/G,EAAA,CAAAi1B,EADAiF,GAAAn6B,GACA,KACA,GAAAgH,EAAA8yD,YAAA,CACA95D,EAAA0O,GAAA,EACA,IAAA2mC,EAAAwf,GAAA70D,EAAA4kB,EAAA5kB,EAAA0O,EAAA1H,GACA/G,EAAA,GAAAgzD,GAAA5d,EAAA,EAAAngB,EAAAluB,EAAA0rD,SAAA1rD,EACA,MACAhH,EAAA0O,EAAAkW,EACA,OAAA3kB,CACA,GA+hHA,IAAyBsO,EA5kHzB,SAAAvO,EAAAI,EAAA4G,GACA,IAAA4d,EAAA5kB,EAAA0O,EAAAtO,EACA80B,EAAA4D,GAAA94B,GACAk1B,EAAA5oB,EAAAtF,EAAA,QACA,IACA/G,EAAA,CAAAi1B,EADAl1B,EAAA0T,WAAA,GACA,KACA,GAAA1M,EAAA8yD,YAAA,CACA95D,EAAA0O,GAAA,EACA,IAAA2mC,EAAAwf,GAAA70D,EAAA4kB,EAAA5kB,EAAA0O,EAAA1H,GACA/G,EAAA,GAAAgzD,GAAA5d,EAAA,EAAAngB,EAAAluB,EAAA0rD,SAAA1rD,EACA,MACAhH,EAAA0O,EAAAkW,EACA,OAAA3kB,CACA,GAgkHA,IAAyBsO,EA7jHzB,SAAAvO,EAAAI,EAAA4G,GACA,IAAA4d,EAAA5kB,EAAA0O,EAAAtO,EACA80B,EAAA4D,GAAA94B,GACAk1B,EAAA5oB,EAAAtF,EAAA,QACA,IACA/G,EAAA,CAAAi1B,EADAl1B,EAAA0T,WAAA,GACA,KACA,GAAA1M,EAAA8yD,YAAA,CACA95D,EAAA0O,GAAA,EACA,IAAA2mC,EAAAwf,GAAA70D,EAAA4kB,EAAA5kB,EAAA0O,EAAA1H,GACA/G,EAAA,GAAAgzD,GAAA5d,EAAA,EAAAngB,EAAAluB,EAAA0rD,SAAA1rD,EACA,MACAhH,EAAA0O,EAAAkW,EACA,OAAA3kB,CACA,GAijHA,IAAyBsO,EAlvHzB,SAAAvO,GAEA,OADAi5B,GAAAj5B,GAEA,GAgvHA,IAAyBuO,EA3nHzB,SAAAvO,GAGA,OAFAi5B,GAAAj5B,GACA05B,GAAA15B,GACA,IACA,GAwnHA,IAAyBuO,EAvsHzB,SAAAvO,GAGA,OAFAi5B,GAAAj5B,GACAA,EAAA0T,WAAA,GACA,IACA,GAosHA,IAAyBnF,EAhuHzB,SAAAvO,GAGA,OAFAi5B,GAAAj5B,GACAA,EAAA0T,WAAA,GACA,IACA,GA6tHA,IAAyBnF,EAAA8uD,IACzB,IAAyB9uD,EAhmHzB,SAAAvO,GAGA,OAFAi5B,GAAAj5B,GACAm4B,GAAAn4B,GACA,MACA,GA6lHA,IAAyBuO,EAhrHzB,SAAAvO,GAGA,OAFAi5B,GAAAj5B,GACAA,EAAA0T,WAAA,GACA,IACA,GA6qHA,IAAyBnF,EAAAmqB,IACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyBnxB,EAAA,GACzB,IAAyBA,GAAA,GACzB,IAAyBA,EAAA,GACzB,IAAyBA,GAAA,GACzB,IAAyBgH,EA7xEzB,SAAAvO,EAAAI,EAAA4G,GACA,IAAA4d,EAAA5kB,EAAA0O,EAAAtO,EACAJ,EAAA0O,GAAA,EACA1O,EAAA0O,GAAA,EACA,IAAA89B,EAAAxsC,EAAA0T,WAAA,GACA4D,EAAAiiB,GAAAv5B,GACAq1C,EAAAyf,GAAA90D,EAAA,EAAAgH,GACAimD,EAAA5zB,GAAAr5B,GAOAA,EAAA0O,EAAAkW,EACA,IAAAtd,EAAA,CAAa6kC,KAAA70B,EAAAm5D,IAAAp7B,GAGb,OAFA7I,EAAA,YAAAllC,EAAA20D,MAAAzvB,GACAygB,IAAA3lD,EAAA45D,QAAAjU,GACA3lD,CACA,GA2wEA,IAAyB,EACzB,IAAyB,EACzB,IAAyBiH,EA55QzB,SAAAvO,EAAAI,EAAA4G,GACA,IAAAM,EAAA,CAAc,EAEdA,EAAAqM,GAAA3T,EAAA0T,WAAA,MAEA,IAAAk1C,EAl4LA,SAAA5oD,GACA,IAAA+E,EAAA/E,EAAA0T,WAAA,GAYA,OAXA1T,EAAA0O,IACA,CACAgiE,MAAA,EAAA3rE,EACA4rE,QAAA,EAAA5rE,EACA6rE,WAAA,EAAA7rE,EACA8rE,WAAA,EAAA9rE,EACA+rE,SAAA,GAAA/rE,EACAgsE,QAAA,GAAAhsE,EACAisE,UAAA,GAAAjsE,EACAksE,QAAA,IAAAlsE,EAGA,CAo3LAmsE,CAAAlxE,GAWA,OAVA4oD,EAAA+nB,UAAArpE,EAAAw+C,OAAA,GACA8C,EAAAooB,YAAA1pE,EAAA0+C,SAAA,GACA4C,EAAAqoB,UAAA3pE,EAAA2+C,OAAA,GACA2C,EAAAmoB,UAAAzpE,EAAAm1C,OAAA,GACAmM,EAAAkoB,WAAAxpE,EAAAo1C,QAAA,GACAkM,EAAAioB,aAAAvpE,EAAAq1C,OAAA,GAGA,MADA38C,EAAA0T,WAAA,KACApM,EAAAu+C,KAAA,GAEA7lD,EAAA0T,WAAA,IAEA,OAAApM,EAAA4+C,UAAA,cAAyC,MACzC,OAAA5+C,EAAA4+C,UAAA,YAGA,IAAAH,EAAA/lD,EAAA0T,WAAA,GACA,GAAAqyC,IAAAz+C,EAAAy+C,UAAAA,GAEA,IAAAlJ,EAAA78C,EAAA0T,WAAA,GACAmpC,EAAA,IAAAv1C,EAAAu1C,OAAAA,GAEA,IAAAs0B,EAAAnxE,EAAA0T,WAAA,GAMA,OALAy9D,EAAA,IAAA7pE,EAAAyhD,QAAAooB,GAEAnxE,EAAA0O,IACApH,EAAA0Q,MA99LA,SAAAhY,GACA,IAAAsH,EAAA,GAIA8pE,EAHApxE,EAAA0T,WAAA,KAGA,EAEA6mB,EAAAv6B,EAAA0T,WAAA,GACA+mB,EAAAz6B,EAAA0T,WAAA,OACA29D,EAAArxE,EAAA0T,WAAA,GACA49D,EAAAtxE,EAAA0T,WAAA,GACA69D,EAAAvxE,EAAA0T,WAAA,GAGA,OAFA1T,EAAA0O,IAEA0iE,GACA,OAAA9pE,EAAAgzB,KAAA,EAAwB,MACxB,OACAhzB,EAAAizB,MAAAA,EACA,IAAA8rB,EAAAjrB,GAAAb,GAEA8rB,IAAA/+C,EAAAqzB,IAAA8nB,GAAA4D,IACA,MACA,OAEA/+C,EAAAqzB,IAAA8nB,GAAA,CAAA4uB,EAAAC,EAAAC,IACA,MACA,OAAAjqE,EAAAkzB,MAAAD,EAIA,OAFA,GAAAE,IAAAnzB,EAAAozB,KAAAD,EAAA,EAAAA,EAAA,MAAAA,EAAA,OAEAnzB,CACA,CA+7LAkqE,CAAAxxE,GAEAA,EAAA0T,WAAA,IAEA,OAAApM,EAAA6+C,OAAA,QAAgC,MAChC,OAAA7+C,EAAA6+C,OAAA,QAKA,OAFA7+C,EAAAgQ,KAAA6gB,GAAAn4B,GAEAsH,CACA,GAk3QA,IAAyBiH,EA56QzB,SAAAvO,EAAAI,GAGA,OAFAJ,EAAA0T,WAAA,GACAykB,GAAAn4B,GAEA,GAy6QA,IAAyBuO,EAAA65C,IACzB,IAAyB75C,EAAAk6C,IACzB,IAAyBl6C,EAtyQzB,SAAAvO,EAAAI,GACA,IAAAwT,EAAA5T,EAAA0O,EAAAtO,EACAqxE,EAAAzxE,EAAA0T,WAAA,GACAg+D,EAAA1xE,EAAA0T,WAAA,GAEA,OADA1T,EAAA0O,EAAAkF,EACA,CAASs1B,KAAAuoC,EAAA96C,SAAA+6C,EACT,GAiyQA,IAAyB,EACzB,IAAyBnjE,EAzidzB,SAAAvO,GACA,OAAAA,EAAA0T,WAAA,MACA,GAwidA,IAAyB,EACzB,IAAyBnF,EA3qPzB,SAAAvO,GAGA,IAFA,IAAAsH,EAAA,GACAgS,EAAAtZ,EAAA0T,WAAA,GACA4F,KAAA,GACAhS,EAAA0P,KAAA,CAAAhX,EAAA0T,WAAA,GAAA1T,EAAA0T,WAAA,KACA,OAAApM,CACA,GAsqPA,IAAyBC,EAAA,GACzB,IAAyBA,GAAA,GACzB,IAAyBA,EAAA,GACzB,IAAyBA,GAAA,GACzB,IAAyBA,EAAA,GACzB,IAAyBA,GAAA,GACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyBgH,EAAAm/B,IACzB,IAAyBn/B,EA7pHzB,SAAAvO,GAGA,OAFA84B,GAAA94B,GACA04B,GAAA14B,GACA,KACA,GA0pHA,IAAyBuO,EA3+OzB,SAAAvO,GACA,IAAAsH,EAAA,GACAA,EAAApH,EAAAF,EAAA0T,WAAA,GACA,IAAAwhB,EAAA,GACAA,EAAA5oB,EAAAtM,EAAA0T,WAAA,GACAwhB,EAAAnxB,EAAA/D,EAAA0T,WAAA,GACApM,EAAAgF,EAAAmpB,GAAAP,GACA,IAAAzhB,EAAAzT,EAAA0T,WAAA,GAGA,OAFA,EAAAD,IAAAnM,EAAAoH,EAAA,KACA,EAAA+E,IAAAnM,EAAAyX,EAAA,KACAzX,CACA,GAi+OA,IAAyBiH,EAl6GzB,WACA,GAk6GA,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,IAAyB,EACzB,KAAyB,EACzB,KAAyBhH,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,EAAAgH,EAAA0lB,GAAAphB,EAAA,GACzB,KAAyBtL,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,EAAAgH,EAh/GzB,SAAAvO,GACA,IAAAuO,EAAAvO,EAAA0T,WAAA,GAEA,OADA1T,EAAA0O,GAAA,GACA,CAAU0sD,IAAA,GAAA7sD,EACV,GA6+GA,KAAyBhH,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBgH,EAj2HzB,SAAAvO,EAAAI,GACA,IAAA4tB,EAAA,GACAzf,EAAAvO,EAAAA,EAAA0O,GAMA,QANuB1O,EAAA0O,EACvBsf,EAAA8sC,QAAA,GAAAvsD,GACAyf,EAAAioC,OAAA,IAAA1nD,GAEAvO,EAAA0O,GAAA,GACAsf,EAAA1W,KAAA6hB,GAAAn5B,EAAAI,EAAA,IACA4tB,CACA,GAy1HA,KAAyBzf,EAAA4uD,GAAAtqD,EAAA,IACzB,KAAyBtE,EAzjHzB,WACA,GAyjHA,KAAyB,EACzB,KAAyBA,EA/3EzB,SAAAvO,EAAAI,GACA,IAAAH,EAAA,CAAwB,EACxBwT,EAAAzT,EAAA0T,WAAA,GACAzT,EAAA0xE,oBAAA3xE,EAAA0T,WAAA,GACA,IAAAk+D,EAAAxxE,EAAA,EAAA+3B,GAAAn4B,GAAA,GAiBA,OAhBA4xE,EAAAxxE,OAAA,IAAAH,EAAA03D,SAAAia,GACA3xE,EAAA4xE,wBAAA,MAAAp+D,GACAxT,EAAA6xE,cAAA,GAAAr+D,GACAxT,EAAA8xE,sBAAA,KAAAt+D,GACAxT,EAAA8H,YAAA,EAAA0L,GACAxT,EAAA0hE,iBAAA,EAAAluD,GACAxT,EAAA+xE,sBAAA,KAAAv+D,GACAxT,EAAAgyE,qBAAA,GAAAx+D,GACAxT,EAAAiyE,gBAAA,KAAAz+D,GACAxT,EAAAkyE,yBAAA,OAAA1+D,GACAxT,EAAAmyE,0BAAA,IAAA3+D,GACAxT,EAAAoyE,8BAAA,EAAA5+D,GACAxT,EAAAqyE,qBAAA,GAAA7+D,GACAxT,EAAAsyE,YAAA,8BAAA9+D,GAAA,MACAxT,EAAAuyE,wBAAA,MAAA/+D,GACAxT,EAAAwyE,YAAA,6BAAAh/D,GAAA,KACAxT,CACA,GA02EA,KAAyB,EACzB,KAAyB,EACzB,KAAyBsO,EAp5EzB,SAAAvO,EAAAI,GACA,IAAA4tB,EAAA,GAKA,OAJAA,EAAAgzC,OAAAhhE,EAAA0T,WAAA,GACAsa,EAAAqzC,OAAArhE,EAAA0T,WAAA,GACAsa,EAAAszC,SAAA9nC,GAAAx5B,EAAAI,EAAA,GACA4tB,EAAA1W,KAAA6gB,GAAAn4B,GACAguB,CACA,GA84EA,KAAyB,EACzB,KAAyB,EACzB,KAAyBzmB,EAAA,EAAAgH,EA/7SzB,SAAAvO,GACA,OAAAA,EAAA0T,WAAA,GAAA1T,EAAA0T,WAAA,GACA,GA87SA,KAAyBnM,GAAA,GACzB,KAAyBA,EAAA,EAAAgH,EAAA0rB,IACzB,KAAyB1yB,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyB,EACzB,KAAyB,EACzB,KAAyBgH,EAAA+uD,IACzB,KAAyB/1D,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyB,EACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,KAAyBA,GAAA,GACzB,KAAyBA,EAAA,GACzB,K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B,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyB,EACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAyB,EACzB,MAAyBA,EAAA,GACzB,MAAyBA,GAAA,GACzB,MAAy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","sources":["webpack://dash_table/./node_modules/xlsx/xlsx.mjs"],"sourcesContent":["/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */\nvar XLSX = {};\nXLSX.version = '0.18.5';\nvar current_codepage = 1200, current_ansi = 1252;\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ];\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n\t/*::[*/0/*::]*/: 1252, /* ANSI */\n\t/*::[*/1/*::]*/: 65001, /* DEFAULT */\n\t/*::[*/2/*::]*/: 65001, /* SYMBOL */\n\t/*::[*/77/*::]*/: 10000, /* MAC */\n\t/*::[*/128/*::]*/: 932, /* SHIFTJIS */\n\t/*::[*/129/*::]*/: 949, /* HANGUL */\n\t/*::[*/130/*::]*/: 1361, /* JOHAB */\n\t/*::[*/134/*::]*/: 936, /* GB2312 */\n\t/*::[*/136/*::]*/: 950, /* CHINESEBIG5 */\n\t/*::[*/161/*::]*/: 1253, /* GREEK */\n\t/*::[*/162/*::]*/: 1254, /* TURKISH */\n\t/*::[*/163/*::]*/: 1258, /* VIETNAMESE */\n\t/*::[*/177/*::]*/: 1255, /* HEBREW */\n\t/*::[*/178/*::]*/: 1256, /* ARABIC */\n\t/*::[*/186/*::]*/: 1257, /* BALTIC */\n\t/*::[*/204/*::]*/: 1251, /* RUSSIAN */\n\t/*::[*/222/*::]*/: 874, /* THAI */\n\t/*::[*/238/*::]*/: 1250, /* EASTEUROPE */\n\t/*::[*/255/*::]*/: 1252, /* OEM */\n\t/*::[*/69/*::]*/: 6969 /* MISC */\n}/*:any*/);\n\nvar set_ansi = function(cp/*:number*/) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data/*:string*/)/*:Array*/ { var o/*:Array*/ = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data/*:string*/)/*:string*/ {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\n\nvar $cptable;\nfunction set_cptable(cptable) {\n\t$cptable = cptable;\n\tset_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data/*:string*/) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return $cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x/*:number*/)/*:string*/ {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn $cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x/*:number*/)/*:string*/ {\n\t\treturn $cptable.utils.decode(current_ansi, [x])[0];\n\t};\n\tcpdoit();\n}\nexport { set_cptable };\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64_map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nfunction Base64_encode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n for (var i = 0; i < input.length; ) {\n c1 = input.charCodeAt(i++);\n e1 = c1 >> 2;\n c2 = input.charCodeAt(i++);\n e2 = (c1 & 3) << 4 | c2 >> 4;\n c3 = input.charCodeAt(i++);\n e3 = (c2 & 15) << 2 | c3 >> 6;\n e4 = c3 & 63;\n if (isNaN(c2)) {\n e3 = e4 = 64;\n } else if (isNaN(c3)) {\n e4 = 64;\n }\n o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);\n }\n return o;\n}\nfunction Base64_decode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n input = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n for (var i = 0; i < input.length; ) {\n e1 = Base64_map.indexOf(input.charAt(i++));\n e2 = Base64_map.indexOf(input.charAt(i++));\n c1 = e1 << 2 | e2 >> 4;\n o += String.fromCharCode(c1);\n e3 = Base64_map.indexOf(input.charAt(i++));\n c2 = (e2 & 15) << 4 | e3 >> 2;\n if (e3 !== 64) {\n o += String.fromCharCode(c2);\n }\n e4 = Base64_map.indexOf(input.charAt(i++));\n c3 = (e3 & 3) << 6 | e4;\n if (e4 !== 64) {\n o += String.fromCharCode(c3);\n }\n }\n return o;\n}\nvar has_buf = /*#__PURE__*/(function() { return typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node; })();\n\nvar Buffer_from = /*#__PURE__*/(function() {\n\tif(typeof Buffer !== 'undefined') {\n\t\tvar nbfs = !Buffer.from;\n\t\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\t\treturn nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t}\n\treturn function() {};\n})();\n\n\nfunction new_raw_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.alloc ? Buffer.alloc(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s/*:string*/)/*:any*/ {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x/*:string*/)/*:number*/{ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s/*:string*/)/*:any*/ {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data/*:any*/)/*:string*/ {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o/*:Array*/ = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data/*:Array*/)/*:Uint8Array*/ {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data/*:ArrayBuffer|Uint8Array*/)/*:Array*/ {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\n\t/*:: if(data instanceof ArrayBuffer) throw new Error(\"unreachable\"); */\n\tvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = has_buf ? function(bufs) { return Buffer.concat(bufs.map(function(buf) { return Buffer.isBuffer(buf) ? buf : Buffer_from(buf); })); } : function(bufs) {\n\tif(typeof Uint8Array !== \"undefined\") {\n\t\tvar i = 0, maxlen = 0;\n\t\tfor(i = 0; i < bufs.length; ++i) maxlen += bufs[i].length;\n\t\tvar o = new Uint8Array(maxlen);\n\t\tvar len = 0;\n\t\tfor(i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) {\n\t\t\tlen = bufs[i].length;\n\t\t\tif(bufs[i] instanceof Uint8Array) o.set(bufs[i], maxlen);\n\t\t\telse if(typeof bufs[i] == \"string\") { throw \"wtf\"; }\n\t\t\telse o.set(new Uint8Array(bufs[i]), maxlen);\n\t\t}\n\t\treturn o;\n\t}\n\treturn [].concat.apply([], bufs.map(function(buf) { return Array.isArray(buf) ? buf : [].slice.call(buf); }));\n};\n\nfunction utf8decode(content/*:string*/) {\n\tvar out = [], widx = 0, L = content.length + 250;\n\tvar o = new_raw_buf(content.length + 255);\n\tfor(var ridx = 0; ridx < content.length; ++ridx) {\n\t\tvar c = content.charCodeAt(ridx);\n\t\tif(c < 0x80) o[widx++] = c;\n\t\telse if(c < 0x800) {\n\t\t\to[widx++] = (192|((c>>6)&31));\n\t\t\to[widx++] = (128|(c&63));\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64;\n\t\t\tvar d = content.charCodeAt(++ridx)&1023;\n\t\t\to[widx++] = (240|((c>>8)&7));\n\t\t\to[widx++] = (128|((c>>2)&63));\n\t\t\to[widx++] = (128|((d>>6)&15)|((c&3)<<4));\n\t\t\to[widx++] = (128|(d&63));\n\t\t} else {\n\t\t\to[widx++] = (224|((c>>12)&15));\n\t\t\to[widx++] = (128|((c>>6)&63));\n\t\t\to[widx++] = (128|(c&63));\n\t\t}\n\t\tif(widx > L) {\n\t\t\tout.push(o.slice(0, widx));\n\t\t\twidx = 0;\n\t\t\to = new_raw_buf(65535);\n\t\t\tL = 65530;\n\t\t}\n\t}\n\tout.push(o.slice(0, widx));\n\treturn bconcat(out);\n}\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/*::\ndeclare type Block = any;\ndeclare type BufArray = {\n\tnewblk(sz:number):Block;\n\tnext(sz:number):Block;\n\tend():any;\n\tpush(buf:Block):void;\n};\n\ntype RecordHopperCB = {(d:any, Rn:string, RT:number):?boolean;};\n\ntype EvertType = {[string]:string};\ntype EvertNumType = {[string]:number};\ntype EvertArrType = {[string]:Array};\n\ntype StringConv = {(string):string};\n\n*/\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nfunction _strrev(x/*:string*/)/*:string*/ { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = /*#__PURE__*/Math.pow(2,32);\nfunction pad0r(v/*:any*/,d/*:number*/)/*:string*/{if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\n/* yes, in 2022 this is still faster than string compare */\nfunction SSF_isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days/*:Array >*/ = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months/*:Array >*/ = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction SSF_init_table(t/*:any*/) {\n\tif(!t) t = {};\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n\treturn t;\n}\n/* repeated to satiate webpack */\nvar table_fmt = {\n\t0: 'General',\n\t1: '0',\n\t2: '0.00',\n\t3: '#,##0',\n\t4: '#,##0.00',\n\t9: '0%',\n\t10: '0.00%',\n\t11: '0.00E+00',\n\t12: '# ?/?',\n\t13: '# ??/??',\n\t14: 'm/d/yy',\n\t15: 'd-mmm-yy',\n\t16: 'd-mmm',\n\t17: 'mmm-yy',\n\t18: 'h:mm AM/PM',\n\t19: 'h:mm:ss AM/PM',\n\t20: 'h:mm',\n\t21: 'h:mm:ss',\n\t22: 'm/d/yy h:mm',\n\t37: '#,##0 ;(#,##0)',\n\t38: '#,##0 ;[Red](#,##0)',\n\t39: '#,##0.00;(#,##0.00)',\n\t40: '#,##0.00;[Red](#,##0.00)',\n\t45: 'mm:ss',\n\t46: '[h]:mm:ss',\n\t47: 'mmss.0',\n\t48: '##0.0E+0',\n\t49: '@',\n\t56: '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"'\n};\n\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar SSF_default_map = {\n\t5: 37, 6: 38, 7: 39, 8: 40, // 5 -> 37 ... 8 -> 40\n\n\t23: 0, 24: 0, 25: 0, 26: 0, // 23 -> 0 ... 26 -> 0\n\n\t27: 14, 28: 14, 29: 14, 30: 14, 31: 14, // 27 -> 14 ... 31 -> 14\n\n\t50: 14, 51: 14, 52: 14, 53: 14, 54: 14, // 50 -> 14 ... 58 -> 14\n\t55: 14, 56: 14, 57: 14, 58: 14,\n\t59: 1, 60: 2, 61: 3, 62: 4, // 59 -> 1 ... 62 -> 4\n\n\t67: 9, 68: 10, // 67 -> 9 ... 68 -> 10\n\t69: 12, 70: 13, 71: 14, // 69 -> 12 ... 71 -> 14\n\t72: 14, 73: 15, 74: 16, 75: 17, // 72 -> 14 ... 75 -> 17\n\t76: 20, 77: 21, 78: 22, // 76 -> 20 ... 78 -> 22\n\t79: 45, 80: 46, 81: 47, // 79 -> 45 ... 81 -> 47\n\t82: 0 // 82 -> 0 ... 65536 -> 0 (omitted)\n};\n\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar SSF_default_str = {\n\t// 5 -- Currency, 0 decimal, black negative\n\t5: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t63: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\n\t// 6 -- Currency, 0 decimal, red negative\n\t6: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t64: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\n\t// 7 -- Currency, 2 decimal, black negative\n\t7: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t65: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 8 -- Currency, 2 decimal, red negative\n\t8: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t66: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 41 -- Accounting, 0 decimal, No Symbol\n\t41: '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)',\n\n\t// 42 -- Accounting, 0 decimal, $ Symbol\n\t42: '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)',\n\n\t// 43 -- Accounting, 2 decimal, No Symbol\n\t43: '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)',\n\n\t// 44 -- Accounting, 2 decimal, $ Symbol\n\t44: '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)'\n};\n\nfunction SSF_frac(x/*:number*/, D/*:number*/, mixed/*:?boolean*/)/*:Array*/ {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = SSF_fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nvar SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0);\nvar SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime();\nvar SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= SSFbase1904) epoch += 24*60*60*1000;\n\treturn (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\n/* exponent >= -9 and <= 9 */\nfunction SSF_strip_decimal(o/*:string*/)/*:string*/ {\n\treturn (o.indexOf(\".\") == -1) ? o : o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)$/, \"$1\");\n}\n\n/* General Exponential always shows 2 digits exp and trims the mantissa */\nfunction SSF_normalize_exp(o/*:string*/)/*:string*/ {\n\tif(o.indexOf(\"E\") == -1) return o;\n\treturn o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/,\"$1E\").replace(/(E[+-])(\\d)$/,\"$10$2\");\n}\n\n/* exponent >= -9 and <= 9 */\nfunction SSF_small_exp(v/*:number*/)/*:string*/ {\n\tvar w = (v<0?12:11);\n\tvar o = SSF_strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\n\n/* exponent >= 11 or <= -10 likely exponential */\nfunction SSF_large_exp(v/*:number*/)/*:string*/ {\n\tvar o = SSF_strip_decimal(v.toFixed(11));\n\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n}\n\nfunction SSF_general_num(v/*:number*/)/*:string*/ {\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = SSF_small_exp(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = SSF_large_exp(v);\n\n\treturn SSF_strip_decimal(SSF_normalize_exp(o.toUpperCase()));\n}\n\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tThe longest 32-bit integer text is \"-2147483648\", exactly 11 chars\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction SSF_general(v/*:any*/, opts/*:any*/) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : SSF_general_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\n\nfunction SSF_fix_hijri(date/*:Date*/, o/*:[number, number, number]*/) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\nfunction SSF_write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:string*/ {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\n\t\t\t/*::if(!ss0) ss0 = 0; */\n\t\t\tif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n\n\n/*jshint -W086 */\n/*jshint +W086 */\nfunction commaify(s/*:string*/)/*:string*/ {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar pct1 = /%/g;\nfunction write_num_pct(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\n\nfunction write_num_cm(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\n\nfunction write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar o/*:string*/;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str/*:string*/)/*:string*/ {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val/*:number*/, d/*:number*/)/*:string*/ { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val/*:number*/, d/*:number*/)/*:number*/ {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val/*:number*/, d/*:number*/)/*:number*/ {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val/*:number*/)/*:string*/ {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/ {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(/*::(*/r/*::||[\"\"])*/[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\to = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\t\treturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri*/ {\n\tvar out/*:Array*/ = [];\n\tvar in_str = false/*, cc*/;\n\tfor(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) {\n\t\tcase 34: /* '\"' */\n\t\t\tin_str = !in_str; break;\n\t\tcase 95: case 42: case 92: /* '_' '*' '\\\\' */\n\t\t\t++i; break;\n\t\tcase 59: /* ';' */\n\t\t\tout[out.length] = fmt.substr(j,i-j);\n\t\t\tj = i+1;\n\t}\n\tout[out.length] = fmt.substr(j);\n\tif(in_str === true) throw new Error(\"Format |\" + fmt + \"| unterminated string \");\n\treturn out;\n}\n\nvar SSF_abstime = /\\[[HhMmSs\\u0E0A\\u0E19\\u0E17]*\\]/;\nfunction fmt_is_date(fmt/*:string*/)/*:boolean*/ {\n\tvar i = 0, /*cc = 0,*/ c = \"\", o = \"\";\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': if(SSF_isgeneral(fmt, i)) i+= 6; i++; break;\n\t\t\tcase '\"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;\n\t\t\tcase '\\\\': i+=2; break;\n\t\t\tcase '_': i+=2; break;\n\t\t\tcase '@': ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") return true;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"AM/PM\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"上午/下午\") return true;\n\t\t\t\t++i; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.match(SSF_abstime)) return true;\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\twhile(i < fmt.length && (\"0#?.,E+-%\".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!SSF_isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=SSF_parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(SSF_abstime)) {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\n\t\t\t\t/*::if(!dt) throw \"unreachable\"; */\n\t\t\t\tout[i].v = SSF_write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = SSF_general(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\n\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f/*:string*/, v/*:any*/) {\n\tvar fmt = SSF_split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(/\\[[=<>]/) != null || fmt[1].match(/\\[[=<>]/) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table/*:any*/) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[SSF_default_map[fmt]]) || table_fmt[SSF_default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = SSF_default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(SSF_isgeneral(sfmt,0)) return SSF_general(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(SSF_isgeneral(f[1])) return SSF_general(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction SSF_load(fmt/*:string*/, idx/*:?number*/)/*:number*/ {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tfor(var i = 0; i < 0x0188; ++i) {\n/*::if(typeof idx != 'number') return 0x188; */\n\t\t\tif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tif(idx < 0) idx = 0x187;\n\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\ttable_fmt[idx] = fmt;\n\treturn idx;\n}\nfunction SSF_load_table(tbl/*:SSFTable*/)/*:void*/ {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) SSF_load(tbl[i], i);\n}\n\nfunction make_ssf() {\n\ttable_fmt = SSF_init_table();\n}\n\nvar SSF = {\n\tformat: SSF_format,\n\tload: SSF_load,\n\t_table: table_fmt,\n\tload_table: SSF_load_table,\n\tparse_date_code: SSF_parse_date_code,\n\tis_date: fmt_is_date,\n\tget_table: function get_table() { return SSF._table = table_fmt; }\n};\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n}/*:any*/);\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ {\n\tvar fmt = typeof dateNF == \"number\" ? table_fmt[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\n/*::\ndeclare var ReadShift:any;\ndeclare var CheckField:any;\ndeclare var prep_blob:any;\ndeclare var __readUInt32LE:any;\ndeclare var __readInt32LE:any;\ndeclare var __toBuffer:any;\ndeclare var __utf16le:any;\ndeclare var bconcat:any;\ndeclare var s2a:any;\ndeclare var chr0:any;\ndeclare var chr1:any;\ndeclare var has_buf:boolean;\ndeclare var new_buf:any;\ndeclare var new_raw_buf:any;\ndeclare var new_unsafe_buf:any;\ndeclare var Buffer_from:any;\n*/\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/*::\ntype SectorEntry = {\n\tname?:string;\n\tnodes?:Array;\n\tdata:RawBytes;\n};\ntype SectorList = {\n\t[k:string|number]:SectorEntry;\n\tname:?string;\n\tfat_addrs:Array;\n\tssz:number;\n}\ntype CFBFiles = {[n:string]:CFBEntry};\n*/\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32 = /*#__PURE__*/(function() {\nvar CRC32 = {};\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table()/*:any*/ {\n\tvar c = 0, table/*:Array*/ = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table/*:Array*/ = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B/*:Uint8Array|Array*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\nreturn CRC32;\n})();\n/* [MS-CFB] v20171201 */\nvar CFB = /*#__PURE__*/(function _CFB(){\nvar exports = {};\nexports.version = '1.2.1';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l/*:string*/, r/*:string*/)/*:number*/ {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf/*:CFBlob*/, date/*:Date|string*/) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms/*:number*/ = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd/*:number*/ = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf/*:CFBlob*/)/*:Date*/ {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob/*:CFBlob*/)/*:any*/ {\n\tprep_blob(blob, 0);\n\tvar o = /*::(*/{}/*:: :any)*/;\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs/*:: = require('fs'); */;\nfunction get_fs() { return fs || (fs = {}); }\nfunction parse(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif((file[0] | 0x20) == 0x6d && (file[1]|0x20) == 0x69) return parse_mad(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs/*:Array*/ = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob/*:CFBlob*/ = /*::(*/file.slice(0,512)/*:: :any)*/;\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = /*::(*/file.slice(0,ssz)/*:: :any)*/; prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header/*:RawBytes*/ = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt/*:number*/ = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors/*:Array*/ = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list/*:SectorList*/ = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files/*:CFBFiles*/ = {}, Paths/*:Array*/ = [], FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob/*:CFBlob*/)/*:[number, number]*/ {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver/*:number*/ = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob/*:CFBlob*/, mver/*:number*/)/*:void*/ {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file/*:RawBytes*/, ssz/*:number*/)/*:Array*/ {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors/*:Array*/ = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI/*:CFBFileIndex*/, FP/*:Array*/, Paths/*:Array*/)/*:void*/ {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad/*:Array*/ = [], q/*:Array*/ = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry/*:CFBEntry*/, payload/*:RawBytes*/, mini/*:?RawBytes*/)/*:CFBlob*/ {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size)/*:any*/);\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0)/*:any*/);\n\treturn (bconcat(o).slice(0, entry.size)/*:any*/);\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx/*:number*/, cnt/*:number*/, sectors/*:Array*/, ssz/*:number*/, fat_addrs)/*:void*/ {\n\tvar q/*:number*/ = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors/*:Array*/, start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/, chkd/*:?Array*/)/*:SectorEntry*/ {\n\tvar buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors/*:Array*/, dir_start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/)/*:SectorList*/ {\n\tvar sl = sectors.length, sector_list/*:SectorList*/ = ([]/*:any*/);\n\tvar chkd/*:Array*/ = [], buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]/*:Array*/);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr/*:number*/ = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])}/*:SectorEntry*/);\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sectors/*:Array*/, Paths/*:Array*/, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob/*:CFBlob*/ = /*::(*/sector.slice(i, i+128)/*:: :any)*/;\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o/*:CFBEntry*/ = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/);\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob/*:RawBytes|CFBlob*/, offset/*:number*/)/*:Date*/ {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename/*:string*/, options/*:CFBReadOpts*/) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob/*:RawBytes|string*/, options/*:CFBReadOpts*/) {\n\tvar type = options && options.type;\n\tif(!type) {\n\t\tif(has_buf && Buffer.isBuffer(blob)) type = \"buffer\";\n\t}\n\tswitch(type || \"base64\") {\n\t\tcase \"file\": /*:: if(typeof blob !== 'string') throw \"Must pass a filename when type='file'\"; */return read_file(blob, options);\n\t\tcase \"base64\": /*:: if(typeof blob !== 'string') throw \"Must pass a base64-encoded binary string when type='file'\"; */return parse(s2a(Base64_decode(blob)), options);\n\t\tcase \"binary\": /*:: if(typeof blob !== 'string') throw \"Must pass a binary string when type='file'\"; */return parse(s2a(blob), options);\n\t}\n\treturn parse(/*::typeof blob == 'string' ? new Buffer(blob, 'utf-8') : */blob, options);\n}\n\nfunction init_cfb(cfb/*:CFBContainer*/, opts/*:?any*/)/*:void*/ {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 }/*:any*/);\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb/*:CFBContainer*/)/*:void*/ {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }/*:any*/));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\t// Track which names exist\n\tvar fullPaths = Object.create ? Object.create(null) : {};\n\tvar data/*:Array<[string, CFBEntry]>*/ = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tfullPaths[cfb.FullPaths[i]] = true;\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = fullPaths[dad];\n\t\tif(!s) {\n\t\t\tdata.push([dad, ({\n\t\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\t\ttype: 1,\n\t\t\t\tclsid: HEADER_CLSID,\n\t\t\t\tct: now, mt: now,\n\t\t\t\tcontent: null\n\t\t\t}/*:any*/)]);\n\t\t\t// Add name to set\n\t\t\tfullPaths[dad] = true;\n\t\t}\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar _opts = options || {};\n\t/* MAD is order-sensitive, skip rebuild and sort */\n\tif(_opts.fileType == 'mad') return write_mad(cfb, _opts);\n\trebuild_cfb(cfb);\n\tswitch(_opts.fileType) {\n\t\tcase 'zip': return write_zip(cfb, _opts);\n\t\t//case 'mad': return write_mad(cfb, _opts);\n\t}\n\tvar L = (function(cfb/*:CFBContainer*/)/*:Array*/{\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\n\t\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\t\tvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w/*:number*/)/*:void*/ {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\n\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\tflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm/*:string*/ = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 511) & -512;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size > 0 && file.size < 0x1000) {\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 63) & -64;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tif (has_buf) {\n\t\to.l = o.length;\n\t} else {\n\t\t// When using Buffer, already 0-filled\n\t\twhile(o.l < o.length) o.write_shift(1, 0);\n\t}\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb/*:CFBContainer*/, path/*:string*/)/*:?CFBEntry*/ {\n\tvar UCFullPaths/*:Array*/ = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths/*:Array*/ = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k/*:boolean*/ = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath/*:string*/ = path.toUpperCase();\n\tvar w/*:number*/ = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb/*:CFBContainer*/, filename/*:string*/, options/*:CFBWriteOpts*/)/*:void*/ {\n\tget_fs();\n\tvar o = _write(cfb, options);\n\t/*:: if(typeof Buffer == 'undefined' || !Buffer.isBuffer(o) || !(o instanceof Buffer)) throw new Error(\"unreachable\"); */\n\tfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o/*:RawBytes*/)/*:string*/ {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type || \"buffer\") {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o/*:any*/)); return o;\n\t\tcase \"binary\": return typeof o == \"string\" ? o : a2s(o);\n\t\tcase \"base64\": return Base64_encode(typeof o == \"string\" ? o : a2s(o));\n\t\tcase \"buffer\": if(has_buf) return Buffer.isBuffer(o) ? o : Buffer_from(o);\n\t\t\t/* falls through */\n\t\tcase \"array\": return typeof o == \"string\" ? s2a(o) : o;\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* helpers for unaligned bit writes */\nfunction write_bits_3(buf, bl, v) { var w = bl & 7, h = bl >>> 3;\n\tif(w <= 5) buf[h] |= (v & 7) << w;\n\telse {\n\t\tbuf[h] |= (v << w) & 0xFF;\n\t\tbuf[h+1] = (v&7) >> (8-w);\n\t}\n\treturn bl + 3;\n}\n\nfunction write_bits_1(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv = (v&1) << w;\n\tbuf[h] |= v;\n\treturn bl + 1;\n}\nfunction write_bits_8(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v;\n\treturn bl + 8;\n}\nfunction write_bits_16(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v & 0xFF;\n\tbuf[h+2] = v >>> 8;\n\treturn bl + 16;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz/*:number*/) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < L; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX/*:number*/)/*:number*/ {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<*/ = [];\n\tvar i = 0;\n\tfor(;i<32; i++) dlens.push(5);\n\tbuild_tree(dlens, fix_dmap, 32);\n\n\tvar clens/*:Array*/ = [];\n\ti = 0;\n\tfor(; i<=143; i++) clens.push(8);\n\tfor(; i<=255; i++) clens.push(9);\n\tfor(; i<=279; i++) clens.push(7);\n\tfor(; i<=287; i++) clens.push(8);\n\tbuild_tree(clens, fix_lmap, 288);\n})();var _deflateRaw = /*#__PURE__*/(function _deflateRawIIFE() {\n\tvar DST_LN_RE = use_typed_arrays ? new Uint8Array(0x8000) : [];\n\tvar j = 0, k = 0;\n\tfor(; j < DST_LN.length - 1; ++j) {\n\t\tfor(; k < DST_LN[j+1]; ++k) DST_LN_RE[k] = j;\n\t}\n\tfor(;k < 32768; ++k) DST_LN_RE[k] = 29;\n\n\tvar LEN_LN_RE = use_typed_arrays ? new Uint8Array(0x103) : [];\n\tfor(j = 0, k = 0; j < LEN_LN.length - 1; ++j) {\n\t\tfor(; k < LEN_LN[j+1]; ++k) LEN_LN_RE[k] = j;\n\t}\n\n\tfunction write_stored(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t}\n\n\t/* Fixed Huffman */\n\tfunction write_huff_fixed(data, out) {\n\t\tvar bl = 0;\n\t\tvar boff = 0;\n\t\tvar addrs = use_typed_arrays ? new Uint16Array(0x8000) : [];\n\t\twhile(boff < data.length) {\n\t\t\tvar L = /* data.length - boff; */ Math.min(0xFFFF, data.length - boff);\n\n\t\t\t/* write a stored block for short data */\n\t\t\tif(L < 10) {\n\t\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length)); // jshint ignore:line\n\t\t\t\tif(bl & 7) bl += 8 - (bl & 7);\n\t\t\t\tout.l = (bl / 8) | 0;\n\t\t\t\tout.write_shift(2, L);\n\t\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t\t\tbl = out.l * 8;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length) + 2); // jshint ignore:line\n\t\t\tvar hash = 0;\n\t\t\twhile(L-- > 0) {\n\t\t\t\tvar d = data[boff];\n\t\t\t\thash = ((hash << 5) ^ d) & 0x7FFF;\n\n\t\t\t\tvar match = -1, mlen = 0;\n\n\t\t\t\tif((match = addrs[hash])) {\n\t\t\t\t\tmatch |= boff & ~0x7FFF;\n\t\t\t\t\tif(match > boff) match -= 0x8000;\n\t\t\t\t\tif(match < boff) while(data[match + mlen] == data[boff + mlen] && mlen < 250) ++mlen;\n\t\t\t\t}\n\n\t\t\t\tif(mlen > 2) {\n\t\t\t\t\t/* Copy Token */\n\t\t\t\t\td = LEN_LN_RE[mlen];\n\t\t\t\t\tif(d <= 22) bl = write_bits_8(out, bl, bitswap8[d+1]>>1) - 1;\n\t\t\t\t\telse {\n\t\t\t\t\t\twrite_bits_8(out, bl, 3);\n\t\t\t\t\t\tbl += 5;\n\t\t\t\t\t\twrite_bits_8(out, bl, bitswap8[d-23]>>5);\n\t\t\t\t\t\tbl += 3;\n\t\t\t\t\t}\n\t\t\t\t\tvar len_eb = (d < 8) ? 0 : ((d - 4)>>2);\n\t\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, mlen - LEN_LN[d]);\n\t\t\t\t\t\tbl += len_eb;\n\t\t\t\t\t}\n\n\t\t\t\t\td = DST_LN_RE[boff - match];\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]>>3);\n\t\t\t\t\tbl -= 3;\n\n\t\t\t\t\tvar dst_eb = d < 4 ? 0 : (d-2)>>1;\n\t\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, boff - match - DST_LN[d]);\n\t\t\t\t\t\tbl += dst_eb;\n\t\t\t\t\t}\n\t\t\t\t\tfor(var q = 0; q < mlen; ++q) {\n\t\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t\thash = ((hash << 5) ^ data[boff]) & 0x7FFF;\n\t\t\t\t\t\t++boff;\n\t\t\t\t\t}\n\t\t\t\t\tL-= mlen - 1;\n\t\t\t\t} else {\n\t\t\t\t\t/* Literal Token */\n\t\t\t\t\tif(d <= 143) d = d + 48;\n\t\t\t\t\telse bl = write_bits_1(out, bl, 1);\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]);\n\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t++boff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbl = write_bits_8(out, bl, 0) - 1;\n\t\t}\n\t\tout.l = ((bl + 7)/8)|0;\n\t\treturn out.l;\n\t}\n\treturn function _deflateRaw(data, out) {\n\t\tif(data.length < 8) return write_stored(data, out);\n\t\treturn write_huff_fixed(data, out);\n\t};\n})();\n\nfunction _deflate(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n}\n/* modified inflate function also moves original read head */\n\nvar dyn_lmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_dmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_cmap = use_typed_arrays ? new Uint16Array(128) : zero_fill_array(128);\nvar dyn_len_1 = 1, dyn_len_2 = 1;\n\n/* 5.5.3 Expanding Huffman Codes */\nfunction dyn(data, boff/*:number*/) {\n\t/* nomenclature from RFC1951 refers to bit values; these are offset by the implicit constant */\n\tvar _HLIT = read_bits_5(data, boff) + 257; boff += 5;\n\tvar _HDIST = read_bits_5(data, boff) + 1; boff += 5;\n\tvar _HCLEN = read_bits_4(data, boff) + 4; boff += 4;\n\tvar w = 0;\n\n\t/* grab and store code lengths */\n\tvar clens = use_typed_arrays ? new Uint8Array(19) : zero_fill_array(19);\n\tvar ctree = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n\tvar maxlen = 1;\n\tvar bl_count = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar next_code = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar L = clens.length; /* 19 */\n\tfor(var i = 0; i < _HCLEN; ++i) {\n\t\tclens[CLEN_ORDER[i]] = w = read_bits_3(data, boff);\n\t\tif(maxlen < w) maxlen = w;\n\t\tbl_count[w]++;\n\t\tboff += 3;\n\t}\n\n\t/* build code tree */\n\tvar ccode = 0;\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) next_code[i] = ccode = (ccode + bl_count[i-1])<<1;\n\tfor(i = 0; i < L; ++i) if((ccode = clens[i]) != 0) ctree[i] = next_code[ccode]++;\n\t/* cmap[7 bits from stream] = (off&7) + (lit<<3) */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bitswap8[ctree[i]]>>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<*/ = [];\n\tmaxlen = 1;\n\tfor(; hcodes.length < _HLIT + _HDIST;) {\n\t\tccode = dyn_cmap[read_bits_7(data, boff)];\n\t\tboff += ccode & 7;\n\t\tswitch((ccode >>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz/*:number*/) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(sz > 0) {\n\t\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\t\twhile(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\t}\n\t\t\tcontinue;\n\t\t} else if((header >> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt + 100); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\tif(usz) return [outbuf, (boff+7)>>>3];\n\treturn [outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tvar blob/*:CFBlob*/ = /*::(*/file/*:: :any)*/;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(/*::(*/blob.slice(blob.l+namelen, blob.l+namelen+efsz)/*:: :any)*/);\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob/*:CFBlob*/, csz/*:number*/, usz/*:number*/, o/*:CFBContainer*/, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(/*::(*/blob.slice(blob.l, blob.l + efsz)/*:: :any)*/);\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break; // TODO: scan for magic number\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\t//var _crc32 = CRC32.buf(data, 0);\n\t//if((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o/*:CFBlob*/ = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(/*::((*/fi.content/*::||[]):any)*/, 0);\n\n\t\tvar outbuf = fi.content/*::||[]*/;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: extra fields? */\n\n\t\t/* TODO: encryption header ? */\n\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out/*:any*/)), bconcat(cdirs), o]/*:any*/));\n}\nvar ContentTypeMap = ({\n\t\"htm\": \"text/html\",\n\t\"xml\": \"text/xml\",\n\n\t\"gif\": \"image/gif\",\n\t\"jpg\": \"image/jpeg\",\n\t\"png\": \"image/png\",\n\n\t\"mso\": \"application/x-mso\",\n\t\"thmx\": \"application/vnd.ms-officetheme\",\n\t\"sh33tj5\": \"application/octet-stream\"\n}/*:any*/);\n\nfunction get_content_type(fi/*:CFBEntry*/, fp/*:string*/)/*:string*/ {\n\tif(fi.ctype) return fi.ctype;\n\n\tvar ext = fi.name || \"\", m = ext.match(/\\.([^\\.]+)$/);\n\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\n\tif(fp) {\n\t\tm = (ext = fp).match(/[\\.\\\\]([^\\.\\\\])+$/);\n\t\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\t}\n\n\treturn \"application/octet-stream\";\n}\n\n/* 76 character chunks TODO: intertwine encoding */\nfunction write_base64_76(bstr/*:string*/)/*:string*/ {\n\tvar data = Base64_encode(bstr);\n\tvar o = [];\n\tfor(var i = 0; i < data.length; i+= 76) o.push(data.slice(i, i+76));\n\treturn o.join(\"\\r\\n\") + \"\\r\\n\";\n}\n\n/*\nRules for QP:\n\t- escape =## applies for all non-display characters and literal \"=\"\n\t- space or tab at end of line must be encoded\n\t- \\r\\n newlines can be preserved, but bare \\r and \\n must be escaped\n\t- lines must not exceed 76 characters, use soft breaks =\\r\\n\n\nTODO: Some files from word appear to write line extensions with bare equals:\n\n```\n*/ = [], split = encoded.split(\"\\r\\n\");\n\tfor(var si = 0; si < split.length; ++si) {\n\t\tvar str = split[si];\n\t\tif(str.length == 0) { o.push(\"\"); continue; }\n\t\tfor(var i = 0; i < str.length;) {\n\t\t\tvar end = 76;\n\t\t\tvar tmp = str.slice(i, i + end);\n\t\t\tif(tmp.charAt(end - 1) == \"=\") end --;\n\t\t\telse if(tmp.charAt(end - 2) == \"=\") end -= 2;\n\t\t\telse if(tmp.charAt(end - 3) == \"=\") end -= 3;\n\t\t\ttmp = str.slice(i, i + end);\n\t\t\ti += end;\n\t\t\tif(i < str.length) tmp += \"=\";\n\t\t\to.push(tmp);\n\t\t}\n\t}\n\n\treturn o.join(\"\\r\\n\");\n}\nfunction parse_quoted_printable(data/*:Array*/)/*:RawBytes*/ {\n\tvar o = [];\n\n\t/* unify long lines */\n\tfor(var di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\twhile(di <= data.length && line.charAt(line.length - 1) == \"=\") line = line.slice(0, line.length - 1) + data[++di];\n\t\to.push(line);\n\t}\n\n\t/* decode */\n\tfor(var oi = 0; oi < o.length; ++oi) o[oi] = o[oi].replace(/[=][0-9A-Fa-f]{2}/g, function($$) { return String.fromCharCode(parseInt($$.slice(1), 16)); });\n\treturn s2a(o.join(\"\\r\\n\"));\n}\n\n\nfunction parse_mime(cfb/*:CFBContainer*/, data/*:Array*/, root/*:string*/)/*:void*/ {\n\tvar fname = \"\", cte = \"\", ctype = \"\", fdata;\n\tvar di = 0;\n\tfor(;di < 10; ++di) {\n\t\tvar line = data[di];\n\t\tif(!line || line.match(/^\\s*$/)) break;\n\t\tvar m = line.match(/^(.*?):\\s*([^\\s].*)$/);\n\t\tif(m) switch(m[1].toLowerCase()) {\n\t\t\tcase \"content-location\": fname = m[2].trim(); break;\n\t\t\tcase \"content-type\": ctype = m[2].trim(); break;\n\t\t\tcase \"content-transfer-encoding\": cte = m[2].trim(); break;\n\t\t}\n\t}\n\t++di;\n\tswitch(cte.toLowerCase()) {\n\t\tcase 'base64': fdata = s2a(Base64_decode(data.slice(di).join(\"\"))); break;\n\t\tcase 'quoted-printable': fdata = parse_quoted_printable(data.slice(di)); break;\n\t\tdefault: throw new Error(\"Unsupported Content-Transfer-Encoding \" + cte);\n\t}\n\tvar file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true});\n\tif(ctype) file.ctype = ctype;\n}\n\nfunction parse_mad(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tif(a2s(file.slice(0,13)).toLowerCase() != \"mime-version:\") throw new Error(\"Unsupported MAD header\");\n\tvar root = (options && options.root || \"\");\n\t// $FlowIgnore\n\tvar data = (has_buf && Buffer.isBuffer(file) ? file.toString(\"binary\") : a2s(file)).split(\"\\r\\n\");\n\tvar di = 0, row = \"\";\n\n\t/* if root is not specified, scan for the common prefix */\n\tfor(di = 0; di < data.length; ++di) {\n\t\trow = data[di];\n\t\tif(!/^Content-Location:/i.test(row)) continue;\n\t\trow = row.slice(row.indexOf(\"file\"));\n\t\tif(!root) root = row.slice(0, row.lastIndexOf(\"/\") + 1);\n\t\tif(row.slice(0, root.length) == root) continue;\n\t\twhile(root.length > 0) {\n\t\t\troot = root.slice(0, root.length - 1);\n\t\t\troot = root.slice(0, root.lastIndexOf(\"/\") + 1);\n\t\t\tif(row.slice(0,root.length) == root) break;\n\t\t}\n\t}\n\n\tvar mboundary = (data[1] || \"\").match(/boundary=\"(.*?)\"/);\n\tif(!mboundary) throw new Error(\"MAD cannot find boundary\");\n\tvar boundary = \"--\" + (mboundary[1] || \"\");\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o);\n\tvar start_di, fcnt = 0;\n\tfor(di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\tif(line !== boundary && line !== boundary + \"--\") continue;\n\t\tif(fcnt++) parse_mime(o, data.slice(start_di, di), root);\n\t\tstart_di = di;\n\t}\n\treturn o;\n}\n\nfunction write_mad(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:string*/ {\n\tvar opts = options || {};\n\tvar boundary = opts.boundary || \"SheetJS\";\n\tboundary = '------=' + boundary;\n\n\tvar out = [\n\t\t'MIME-Version: 1.0',\n\t\t'Content-Type: multipart/related; boundary=\"' + boundary.slice(2) + '\"',\n\t\t'',\n\t\t'',\n\t\t''\n\t];\n\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tfor(var i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length);\n\t\tfi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\n\t\t/* Normalize filename */\n\t\tfp = fp.replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7E-\\xFF]/g, function(c) {\n\t\t\treturn \"_x\" + c.charCodeAt(0).toString(16) + \"_\";\n\t\t}).replace(/[\\u0080-\\uFFFF]/g, function(u) {\n\t\t\treturn \"_u\" + u.charCodeAt(0).toString(16) + \"_\";\n\t\t});\n\n\t\t/* Extract content as binary string */\n\t\tvar ca = fi.content;\n\t\t// $FlowIgnore\n\t\tvar cstr = has_buf && Buffer.isBuffer(ca) ? ca.toString(\"binary\") : a2s(ca);\n\n\t\t/* 4/5 of first 1024 chars ascii -> quoted printable, else base64 */\n\t\tvar dispcnt = 0, L = Math.min(1024, cstr.length), cc = 0;\n\t\tfor(var csl = 0; csl <= L; ++csl) if((cc=cstr.charCodeAt(csl)) >= 0x20 && cc < 0x80) ++dispcnt;\n\t\tvar qp = dispcnt >= L * 4 / 5;\n\n\t\tout.push(boundary);\n\t\tout.push('Content-Location: ' + (opts.root || 'file:///C:/SheetJS/') + fp);\n\t\tout.push('Content-Transfer-Encoding: ' + (qp ? 'quoted-printable' : 'base64'));\n\t\tout.push('Content-Type: ' + get_content_type(fi, fp));\n\t\tout.push('');\n\n\t\tout.push(qp ? write_quoted_printable(cstr) : write_base64_76(cstr));\n\t}\n\tout.push(boundary + '--\\r\\n');\n\treturn out.join(\"\\r\\n\");\n}\nfunction cfb_new(opts/*:?any*/)/*:CFBContainer*/ {\n\tvar o/*:CFBContainer*/ = ({}/*:any*/);\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb/*:CFBContainer*/, name/*:string*/, content/*:?RawBytes*/, opts/*:?any*/)/*:CFBEntry*/ {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath/*:string*/ = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2}/*:any*/);\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\n\t/*:: if(!file) throw new Error(\"unreachable\"); */\n\tfile.content = (content/*:any*/);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb/*:CFBContainer*/, name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb/*:CFBContainer*/, old_name/*:string*/, new_name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb/*:CFBContainer*/)/*:void*/ { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nlet _fs = void 0;\nfunction set_fs(fs) { _fs = fs; }\nexport { set_fs };\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tif(typeof Deno !== 'undefined') {\n\t\t/* in this spot, it's safe to assume typed arrays and TextEncoder/TextDecoder exist */\n\t\tif(enc && typeof payload == \"string\") switch(enc) {\n\t\t\tcase \"utf8\": payload = new TextEncoder(enc).encode(payload); break;\n\t\t\tcase \"binary\": payload = s2ab(payload); break;\n\t\t\t/* TODO: binary equivalent */\n\t\t\tdefault: throw new Error(\"Unsupported encoding \" + enc);\n\t\t}\n\t\treturn Deno.writeFileSync(fname, payload);\n\t}\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\n\t/*:: declare var IE_SaveFile: any; */\n\tif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\n\t\t/*:: declare var navigator: any; */\n\t\tif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\n\t\t/*:: declare var saveAs: any; */\n\t\tif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\n\t\t\t/*:: declare var chrome: any; */\n\t\t\tif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */\n\t\t\t\ta.download = fname; a.href = url; document.body.appendChild(a); a.click();\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */ document.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path/*:string*/) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\tif(typeof Deno !== 'undefined') return Deno.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o/*:any*/)/*:Array*/ {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj/*:any*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj/*:any*/)/*:EvertNumType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj/*:any*/)/*:EvertArrType*/ {\n\tvar o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nfunction datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\tvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nvar refdate = /*#__PURE__*/new Date();\nvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\nvar refoffset = /*#__PURE__*/refdate.getTimezoneOffset();\nfunction numdate(v/*:number*/)/*:Date*/ {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\tif (out.getTimezoneOffset() !== refoffset) {\n\t\tout.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000);\n\t}\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z');\nvar good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1;\nvar good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ {\n\tvar d = new Date(str);\n\tif(good_pd) {\n\t\t/*:: if(fixdate == null) fixdate = 0; */\n\t\tif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr/*:Array*/, debomit)/*:string*/ {\n\tif(has_buf && Buffer.isBuffer(arr)) {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(arr.slice(2).toString(\"utf16le\"));\n\t\t\tif(arr[1] == 0xFE && arr[2] == 0xFF) return utf8write(utf16beread(arr.slice(2).toString(\"binary\")));\n\t\t}\n\t\treturn arr.toString(\"binary\");\n\t}\n\n\tif(typeof TextDecoder !== \"undefined\") try {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(new TextDecoder(\"utf-16le\").decode(arr.slice(2)));\n\t\t\tif(arr[0] == 0xFE && arr[1] == 0xFF) return utf8write(new TextDecoder(\"utf-16be\").decode(arr.slice(2)));\n\t\t}\n\t\tvar rev = {\n\t\t\t\"\\u20ac\": \"\\x80\", \"\\u201a\": \"\\x82\", \"\\u0192\": \"\\x83\", \"\\u201e\": \"\\x84\",\n\t\t\t\"\\u2026\": \"\\x85\", \"\\u2020\": \"\\x86\", \"\\u2021\": \"\\x87\", \"\\u02c6\": \"\\x88\",\n\t\t\t\"\\u2030\": \"\\x89\", \"\\u0160\": \"\\x8a\", \"\\u2039\": \"\\x8b\", \"\\u0152\": \"\\x8c\",\n\t\t\t\"\\u017d\": \"\\x8e\", \"\\u2018\": \"\\x91\", \"\\u2019\": \"\\x92\", \"\\u201c\": \"\\x93\",\n\t\t\t\"\\u201d\": \"\\x94\", \"\\u2022\": \"\\x95\", \"\\u2013\": \"\\x96\", \"\\u2014\": \"\\x97\",\n\t\t\t\"\\u02dc\": \"\\x98\", \"\\u2122\": \"\\x99\", \"\\u0161\": \"\\x9a\", \"\\u203a\": \"\\x9b\",\n\t\t\t\"\\u0153\": \"\\x9c\", \"\\u017e\": \"\\x9e\", \"\\u0178\": \"\\x9f\"\n\t\t};\n\t\tif(Array.isArray(arr)) arr = new Uint8Array(arr);\n\t\treturn new TextDecoder(\"latin1\").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; });\n\t} catch(e) {}\n\n\tvar o = [];\n\tfor(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i]));\n\treturn o.join(\"\");\n}\n\nfunction dup(o/*:any*/)/*:any*/ {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s/*:string*/)/*:number*/ {\n\tvar v/*:number*/ = Number(s);\n\tif(!isNaN(v)) return isFinite(v) ? v : NaN;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nvar lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nfunction fuzzydate(s/*:string*/)/*:Date*/ {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tvar lower = s.toLowerCase();\n\tif(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) {\n\t\tlower = lower.replace(/[^a-z]/g,\"\").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,\"\");\n\t\tif(lower.length > 3 && lower_months.indexOf(lower) == -1) return n;\n\t} else if(lower.match(/[a-z]/)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar split_regex = /*#__PURE__*/(function() {\n\tvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\n\treturn function split_regex(str/*:string*/, re, def/*:string*/)/*:Array*/ {\n\t\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\t\tvar p = str.split(re), o = [p[0]];\n\t\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\t\treturn o;\n\t};\n})();\nfunction getdatastr(data)/*:?string*/ {\n\tif(!data) return null;\n\tif(data.content && data.type) return cc2str(data.content, true);\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file/*:string*/) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase().replace(/[\\/]/g, '\\\\'), g = f.replace(/\\\\/g,'\\/');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex1=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s*[\\/\\?]?>/mg, tagregex2 = /<[^>]*>/g;\nvar tagregex = /*#__PURE__*/XML_HEADER.match(tagregex1) ? tagregex1 : tagregex2;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag/*:string*/, skip_root/*:?boolean*/, skip_LC/*:?boolean*/)/*:any*/ {\n\tvar z = ({}/*:any*/);\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = /*#__PURE__*/evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml/*:StringConv*/ = /*#__PURE__*/(function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text/*:string*/)/*:string*/ {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text/*:string*/)/*:string*/{ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); };\n})();\nfunction xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); }\n\nfunction parsexmlbool(value/*:any*/)/*:boolean*/ {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nfunction utf8reada(orig/*:string*/)/*:string*/ {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n}\n\nfunction utf8readb(data) {\n\tvar out = new_raw_buf(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\tfor(i = 0; i < data.length; i+=j) {\n\t\tj = 1;\n\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\telse { j = 4;\n\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t}\n\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t}\n\treturn out.slice(0,k).toString('ucs2');\n}\n\nfunction utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); }\n\nvar utf8corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\nvar utf8read = has_buf && (/*#__PURE__*/utf8readc(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readc || /*#__PURE__*/utf8readb(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readb) || utf8reada;\n\nvar utf8write/*:StringConv*/ = has_buf ? function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); } : function(orig/*:string*/)/*:string*/ {\n\tvar out/*:Array*/ = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\n// matches ... extracts content\nvar matchtag = /*#__PURE__*/(function() {\n\tvar mtcache/*:{[k:string]:RegExp}*/ = ({}/*:any*/);\n\treturn function matchtag(f/*:string*/,g/*:?string*/)/*:RegExp*/ {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\")/*:any*/)));\n\t};\n})();\n\nvar htmldecode/*:{(s:string):string}*/ = /*#__PURE__*/(function() {\n\tvar entities/*:Array<[RegExp, string]>*/ = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x/*:[string, string]*/) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str/*:string*/)/*:string*/ {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = /*#__PURE__*/(function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)*/ {\n\tvar h = parsexmltag(data);\n\n\tvar matches/*:Array*/ = data.match(vtregex(h.baseType))||[];\n\tvar res/*:Array*/ = [];\n\tif(matches.length != h.size) {\n\t\tif(opts.WTF) throw new Error(\"unexpected vector length \" + matches.length + \" != \" + h.size);\n\t\treturn res;\n\t}\n\tmatches.forEach(function(x/*:string*/) {\n\t\tvar v = x.replace(vtvregex,\"\").match(vtmregex);\n\t\tif(v) res.push({v:utf8read(v[2]), t:v[1]});\n\t});\n\treturn res;\n}\n\nvar wtregex = /(^\\s|\\s$|\\n)/;\nfunction writetag(f/*:string*/,g/*:string*/)/*:string*/ { return '<' + f + (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + ''; }\n\nfunction wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f/*:string*/,g/*:?string*/,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx/*:?boolean*/)/*:string*/ {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nfunction xlml_normalize(d)/*:string*/ {\n\tif(has_buf &&/*::typeof Buffer !== \"undefined\" && d != null && d instanceof Buffer &&*/ Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>:\\/]+)(?:[\\s?:\\/][^>]*)?>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\n\nvar XMLNS = ({\n\tCORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',\n\tCUST_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",\n\tEXT_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\n\tCT: 'http://schemas.openxmlformats.org/package/2006/content-types',\n\tRELS: 'http://schemas.openxmlformats.org/package/2006/relationships',\n\tTCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments',\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n}/*:any*/);\n\nvar XMLNS_main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n}/*:any*/);\nfunction read_double_le(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b/*:RawBytes|CFBlob*/, v/*:number*/, idx/*:number*/) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar ___toBuffer = function(bufs/*:Array >*/)/*:RawBytes*/ { var x=[],w=10240; for(var i=0;i 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0].map(function(x) { return Buffer.isBuffer(x) ? x : Buffer_from(x); })) : ___toBuffer(bufs);} : ___toBuffer;\n\nvar ___utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/)/*:string*/ { var ss/*:Array*/=[]; for(var i=s; i*/=[]; for(var i=s; i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpstr = ___lpstr;\n\nvar ___cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __cpstr = ___cpstr;\n\nvar ___lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpwstr = ___lpwstr;\n\nvar ___lpp4 = function lpp4_(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __lpp4 = ___lpp4;\n\nvar ___8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = ___8lpp4;\n\nvar ___double = function(b/*:RawBytes|CFBlob*/, idx/*:number*/) { return read_double_le(b, idx);};\nvar __double = ___double;\n\nvar is_buf = function is_buf_a(a) { return Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n\nif(has_buf/*:: && typeof Buffer !== 'undefined'*/) {\n\t__lpstr = function lpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__double = function double_(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n}\n\n/* from js-xls */\nfunction cpdoit() {\n\t__utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\nif(typeof $cptable !== 'undefined') cpdoit();\n\nvar __readUInt8 = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx]; };\nvar __readUInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ {\n\tvar o=\"\", oI/*:: :number = 0*/, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof $cptable !== 'undefined') {\n\t\t\t\to = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\n\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\tfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof $cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = $cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tvar end/*:number*/ = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else /*:: if(typeof val === 'number') */ switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr/*:string*/, fld/*:string*/)/*:void*/ {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos/*:number*/)/*:void*/ {\n\tblob.l = pos;\n\tblob.read_shift = /*::(*/ReadShift/*:: :any)*/;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length/*:: :number, opts?:any */) { blob.l += length; }\n\nfunction new_buf(sz/*:number*/)/*:Block*/ {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = R.f && R.f(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array()/*:BufArray*/ {\n\tvar bufs/*:Array*/ = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz/*:number*/)/*:Block*/ {\n\t\tvar o/*:Block*/ = (new_buf(sz)/*:any*/);\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf/*:Block*/ = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz/*:number*/)/*:Block*/ {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn bconcat(bufs);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/);\n}\n\nfunction write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) {\n\tvar t/*:number*/ = +type, l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell/*:CellAddress*/, tgt/*:any*/, opts/*:?any*/)/*:CellAddress*/ {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c/*:CellAddress*/, biff/*:number*/)/*:string*/ {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts)/*:string*/ {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nfunction decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row/*:number*/)/*:string*/ { return \"\" + (row + 1); }\nfunction fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr/*:string*/)/*:number*/ { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col/*:number*/)/*:string*/ { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\n//function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction decode_cell(cstr/*:string*/)/*:CellAddress*/ {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\n//function encode_cell(cell/*:CellAddress*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); }\nfunction encode_cell(cell/*:CellAddress*/)/*:string*/ {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range/*:string*/)/*:Range*/ {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\n/*# if only one arg, it is assumed to be a Range. If 2 args, both are cell addresses */\nfunction encode_range(cs/*:CellAddrSpec|Range*/,ce/*:?CellAddrSpec*/)/*:string*/ {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\n/*:: if(!(cs instanceof Range)) throw \"unreachable\"; */\n\t\treturn encode_range(cs.s, cs.e);\n\t}\n/*:: if((cs instanceof Range)) throw \"unreachable\"; */\n\tif(typeof cs !== 'string') cs = encode_cell((cs/*:any*/));\n\tif(typeof ce !== 'string') ce = encode_cell((ce/*:any*/));\n/*:: if(typeof cs !== 'string') throw \"unreachable\"; */\n/*:: if(typeof ce !== 'string') throw \"unreachable\"; */\n\treturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range/*:string*/)/*:Range*/ {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\t++i;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell/*:Cell*/, v/*:any*/) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF_format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF_format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell/*:Cell*/, v/*:any*/, o/*:any*/) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(cell.t == \"e\") return BErr[cell.v] || cell.v;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet/*:Worksheet*/, opts)/*:Workbook*/ {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws/*:Worksheet*/ = _ws || (dense ? ([]/*:any*/) : ({}/*:any*/));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t\tif(!ws[\"!ref\"]) ws[\"!ref\"] = \"A1:A1\";\n\t}\n\tvar range/*:Range*/ = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell/*:Cell*/ = ({v: data[R][C] }/*:any*/);\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) {\n\t\t\t\t\tif(cell.f) cell.t = 'n';\n\t\t\t\t\telse if(o.nullError) { cell.t = 'e'; cell.v = 0; }\n\t\t\t\t\telse if(!o.sheetStubs) continue;\n\t\t\t\t\telse cell.t = 'z';\n\t\t\t\t}\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF_format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}/*:any*/));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ { return sheet_add_aoa(null, data, opts); }\n\nfunction parse_Int32LE(data) {\n\treturn data.read_shift(4, 'i');\n}\nfunction write_UInt32LE(x/*:number*/, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data/*::, length*/)/*:string*/ {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length/*:number*/)/*:XLString*/ {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str }/*:any*/);\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data)/*:any*/ {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell/*:any*/, o/*:?Block*/) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* Short XLSB Cell does not include column */\nfunction parse_XLSBShortCell(data)/*:any*/ {\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:-1, iStyleRef: iStyleRef };\n}\nfunction write_XLSBShortCell(cell/*:any*/, o/*:?Block*/) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data)/*:number*/ {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, (b[0] & 0xFC), b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data/*:number*/, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data /*::, length*/)/*:Range*/ {\n\tvar cell/*:Range*/ = ({ s: {}, e: {} }/*:any*/);\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r/*:Range*/, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx/*:string*/) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data/*::, length*/) {\n\tif(data.length - data.l < 8) throw \"XLS Xnum Buffer underflow\";\n\treturn data.read_shift(8, 'f');\n}\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data/*::, length*/) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data/*::, length, opts*/) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w/*:number*/)/*:string*/ {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m/*:number*/ = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n// Note: some tree shakers cannot handle VT_VECTOR | $CONST, hence extra vars\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\nvar VT_VECTOR_VARIANT = 0x100C;\nvar VT_VECTOR_LPSTR = 0x101E;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 },\n\t/*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 },\n\t/*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 },\n\t/*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 },\n\t/*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 },\n\t/*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 },\n\t/*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 },\n\t/*::[*/0x0b/*::]*/: { n: 'ScaleCrop', t: VT_BOOL },\n\t/*::[*/0x0c/*::]*/: { n: 'HeadingPairs', t: VT_VECTOR_VARIANT /* VT_VECTOR | VT_VARIANT */ },\n\t/*::[*/0x0d/*::]*/: { n: 'TitlesOfParts', t: VT_VECTOR_LPSTR /* VT_VECTOR | VT_LPSTR */ },\n\t/*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING },\n\t/*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING },\n\t/*::[*/0x10/*::]*/: { n: 'LinksUpToDate', t: VT_BOOL },\n\t/*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 },\n\t/*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL },\n\t/*::[*/0x16/*::]*/: { n: 'HyperlinksChanged', t: VT_BOOL },\n\t/*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' },\n\t/*::[*/0x18/*::]*/: { n: 'DigSig', t: VT_BLOB },\n\t/*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING },\n\t/*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING },\n\t/*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING },\n\t/*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING },\n\t/*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING },\n\t/*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING },\n\t/*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING },\n\t/*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING },\n\t/*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING },\n\t/*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME },\n\t/*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME },\n\t/*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME },\n\t/*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME },\n\t/*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 },\n\t/*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 },\n\t/*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 },\n\t/*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF },\n\t/*::[*/0x12/*::]*/: { n: 'Application', t: VT_STRING },\n\t/*::[*/0x13/*::]*/: { n: 'DocSecurity', t: VT_I4 },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n\t/*::[*/0x0001/*::]*/: \"US\", // United States\n\t/*::[*/0x0002/*::]*/: \"CA\", // Canada\n\t/*::[*/0x0003/*::]*/: \"\", // Latin America (except Brazil)\n\t/*::[*/0x0007/*::]*/: \"RU\", // Russia\n\t/*::[*/0x0014/*::]*/: \"EG\", // Egypt\n\t/*::[*/0x001E/*::]*/: \"GR\", // Greece\n\t/*::[*/0x001F/*::]*/: \"NL\", // Netherlands\n\t/*::[*/0x0020/*::]*/: \"BE\", // Belgium\n\t/*::[*/0x0021/*::]*/: \"FR\", // France\n\t/*::[*/0x0022/*::]*/: \"ES\", // Spain\n\t/*::[*/0x0024/*::]*/: \"HU\", // Hungary\n\t/*::[*/0x0027/*::]*/: \"IT\", // Italy\n\t/*::[*/0x0029/*::]*/: \"CH\", // Switzerland\n\t/*::[*/0x002B/*::]*/: \"AT\", // Austria\n\t/*::[*/0x002C/*::]*/: \"GB\", // United Kingdom\n\t/*::[*/0x002D/*::]*/: \"DK\", // Denmark\n\t/*::[*/0x002E/*::]*/: \"SE\", // Sweden\n\t/*::[*/0x002F/*::]*/: \"NO\", // Norway\n\t/*::[*/0x0030/*::]*/: \"PL\", // Poland\n\t/*::[*/0x0031/*::]*/: \"DE\", // Germany\n\t/*::[*/0x0034/*::]*/: \"MX\", // Mexico\n\t/*::[*/0x0037/*::]*/: \"BR\", // Brazil\n\t/*::[*/0x003d/*::]*/: \"AU\", // Australia\n\t/*::[*/0x0040/*::]*/: \"NZ\", // New Zealand\n\t/*::[*/0x0042/*::]*/: \"TH\", // Thailand\n\t/*::[*/0x0051/*::]*/: \"JP\", // Japan\n\t/*::[*/0x0052/*::]*/: \"KR\", // Korea\n\t/*::[*/0x0054/*::]*/: \"VN\", // Viet Nam\n\t/*::[*/0x0056/*::]*/: \"CN\", // China\n\t/*::[*/0x005A/*::]*/: \"TR\", // Turkey\n\t/*::[*/0x0069/*::]*/: \"JS\", // Ramastan\n\t/*::[*/0x00D5/*::]*/: \"DZ\", // Algeria\n\t/*::[*/0x00D8/*::]*/: \"MA\", // Morocco\n\t/*::[*/0x00DA/*::]*/: \"LY\", // Libya\n\t/*::[*/0x015F/*::]*/: \"PT\", // Portugal\n\t/*::[*/0x0162/*::]*/: \"IS\", // Iceland\n\t/*::[*/0x0166/*::]*/: \"FI\", // Finland\n\t/*::[*/0x01A4/*::]*/: \"CZ\", // Czech Republic\n\t/*::[*/0x0376/*::]*/: \"TW\", // Taiwan\n\t/*::[*/0x03C1/*::]*/: \"LB\", // Lebanon\n\t/*::[*/0x03C2/*::]*/: \"JO\", // Jordan\n\t/*::[*/0x03C3/*::]*/: \"SY\", // Syria\n\t/*::[*/0x03C4/*::]*/: \"IQ\", // Iraq\n\t/*::[*/0x03C5/*::]*/: \"KW\", // Kuwait\n\t/*::[*/0x03C6/*::]*/: \"SA\", // Saudi Arabia\n\t/*::[*/0x03CB/*::]*/: \"AE\", // United Arab Emirates\n\t/*::[*/0x03CC/*::]*/: \"IL\", // Israel\n\t/*::[*/0x03CE/*::]*/: \"QA\", // Qatar\n\t/*::[*/0x03D5/*::]*/: \"IR\", // Iran\n\t/*::[*/0xFFFF/*::]*/: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr/*:Array*/)/*:Array<[number, number, number]>*/ { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = /*#__PURE__*/ rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = /*#__PURE__*/dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n\t/*::[*/0x00/*::]*/: \"#NULL!\",\n\t/*::[*/0x07/*::]*/: \"#DIV/0!\",\n\t/*::[*/0x0F/*::]*/: \"#VALUE!\",\n\t/*::[*/0x17/*::]*/: \"#REF!\",\n\t/*::[*/0x1D/*::]*/: \"#NAME?\",\n\t/*::[*/0x24/*::]*/: \"#NUM!\",\n\t/*::[*/0x2A/*::]*/: \"#N/A\",\n\t/*::[*/0x2B/*::]*/: \"#GETTING_DATA\",\n\t/*::[*/0xFF/*::]*/: \"#WTF?\"\n};\n//var RBErr = evert_num(BErr);\nvar RBErr = {\n\t\"#NULL!\": 0x00,\n\t\"#DIV/0!\": 0x07,\n\t\"#VALUE!\": 0x0F,\n\t\"#REF!\": 0x17,\n\t\"#NAME?\": 0x1D,\n\t\"#NUM!\": 0x24,\n\t\"#N/A\": 0x2A,\n\t\"#GETTING_DATA\": 0x2B,\n\t\"#WTF?\": 0xFF\n};\n\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\": \"workbooks\",\n\t\"application/vnd.ms-excel.addin.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": \"sheets\",\n\t\"application/vnd.ms-excel.worksheet\": \"sheets\",\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Chartsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": \"charts\",\n\t\"application/vnd.ms-excel.chartsheet\": \"charts\",\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.macrosheet+xml\": \"macros\",\n\t\"application/vnd.ms-excel.macrosheet\": \"macros\",\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* Dialogsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": \"dialogs\",\n\t\"application/vnd.ms-excel.dialogsheet\": \"dialogs\",\n\n\t/* Shared Strings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\": \"strs\",\n\t\"application/vnd.ms-excel.sharedStrings\": \"strs\",\n\n\t/* Styles */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": \"styles\",\n\t\"application/vnd.ms-excel.styles\": \"styles\",\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* Comments */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": \"comments\",\n\t\"application/vnd.ms-excel.comments\": \"comments\",\n\t\"application/vnd.ms-excel.threadedcomments+xml\": \"threadedcomments\",\n\t\"application/vnd.ms-excel.person+xml\": \"people\",\n\n\t/* Metadata (Stock/Geography and Dynamic Array) */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"metadata\",\n\t\"application/vnd.ms-excel.sheetMetadata\": \"metadata\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"TODO\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n}/*:any*/);\n\nvar CT_LIST = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tmetadata: { /* Metadata (Stock/Geography and Dynamic Array) */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheetMetadata\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n};\n\nfunction new_ct()/*:any*/ {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], threadedcomments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [], metadata: [], people:[],\n\t\tTODO:[], xmlns: \"\" }/*:any*/);\n}\n\nfunction parse_ct(data/*:?string*/) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nfunction write_ct(ct, opts)/*:string*/ {\n\tvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\n\tvar o/*:Array*/ = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = writextag('Types', null, {\n\t\t'xmlns': XMLNS.CT,\n\t\t'xmlns:xsd': XMLNS.xsd,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t});\n\n\to = o.concat([\n\t\t['xml', 'application/xml'],\n\t\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t\t/* from test files */\n\t\t['bmp', 'image/bmp'],\n\t\t['png', 'image/png'],\n\t\t['gif', 'image/gif'],\n\t\t['emf', 'image/x-emf'],\n\t\t['wmf', 'image/x-wmf'],\n\t\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t\t['pdf', 'application/pdf'],\n\t\t['rels', 'application/vnd.openxmlformats-package.relationships+xml']\n\t].map(function(x) {\n\t\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n\t}));\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('threadedcomments');\n\tf3('drawings');\n\tf2('metadata');\n\tf3('people');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tCMNT: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n\tCORE_PROPS: \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n\tEXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',\n\tCUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties',\n\tSST: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",\n\tSTY: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n\tTHEME: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",\n\tCHART: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n\tCHARTEX: \"http://schemas.microsoft.com/office/2014/relationships/chartEx\",\n\tCS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",\n\tWS: [\n\t\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n\t],\n\tDS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",\n\tMS: \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\",\n\tIMG: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n\tDRAW: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n\tXLMETA: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\",\n\tTCMNT: \"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\",\n\tPEOPLE: \"http://schemas.microsoft.com/office/2017/10/relationships/person\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n}/*:any*/);\n\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file/*:string*/)/*:string*/ {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data/*:?string*/, currentFilePath/*:string*/) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nfunction add_rels(rels, rId/*:number*/, f, type, relobj, targetmode/*:?string*/)/*:number*/ {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(!rels['!idx']) rels['!idx'] = 1;\n\tif(rId < 0) for(rId = rels['!idx']; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trels['!idx'] = rId + 1;\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if([RELS.HLINK, RELS.XPATH, RELS.XMISS].indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest/*:Array >*/)/*:string*/ {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file/*:string*/, res/*:string*/, tag/*:?string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base/*:string*/, file/*:string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nfunction write_meta_ods(/*:: wb: Workbook, opts: any*/)/*:string*/ {\n\treturn 'Sheet' + 'JS ' + XLSX.version + '';\n}\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS/*:Array >*/ = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nvar CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, writextag('cp:coreProperties', null, {\n\t\t//'xmlns': XMLNS.CORE_PROPS,\n\t\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t\t'xmlns:dc': XMLNS.dc,\n\t\t'xmlns:dcterms': XMLNS.dcterms,\n\t\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t})], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS/*:Array >*/ = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP/*:string|Array>*/, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nfunction write_ext_props(cp/*::, opts*/)/*:string*/ {\n\tvar o/*:Array*/ = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (writextag('Properties', null, {\n\t\t'xmlns': XMLNS.EXT_PROPS,\n\t\t'xmlns:vt': XMLNS.vt\n\t}));\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data/*:string*/, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM;\n\nfunction xlml_set_prop(Props, tag/*:string*/, val) {\n\tif(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap);\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o/*:Array*/ = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops/*::, opts*/) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o/*:Array*/ = [];\n\tif(Props) keys(Props).forEach(function(k) {\n\t\t/*:: if(!Props) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\n\t\t/*:: if(!Custprops) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time/*:string|Date*/) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad/*:?number*/) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t/*:number*/, pad/*:?boolean*/) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t/*:number*/) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.7 VtVecLpwstrValue */\nfunction parse_VtVecLpwstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) {\n\t\tvar start = blob.l;\n\t\tret[i] = blob.read_shift(0, 'lpwstr').replace(chr0,'');\n\t\tif((blob.l - start) & 0x02) blob.l += 2;\n\t}\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar start = blob.l;\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tif(blob[blob.l] == 0x00 && blob[blob.l+1] == 0x00 && ((blob.l - start) & 0x02)) blob.l += 2;\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i < cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type/*:number*/, _opts)/*:any*/ {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1 && !((type & 0xFFFE) == 0x101E && (t & 0xFFFE) == 0x101E)) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPairValue(blob);\n\t\tcase 0x101E /*VT_VECTOR|VT_LPSTR*/:\n\t\tcase 0x101F /*VT_VECTOR|VT_LPWSTR*/:\n\t\t\treturn t == 0x101F ? parse_VtVecLpwstrValue(blob) : parse_VtVecUnalignedLpstrValue(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type/*:number*/, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: /*:: if(typeof value !== \"string\" && !(value instanceof Date)) throw \"unreachable\"; */ p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\n\t\t\t/*:: if(typeof value !== \"string\") throw \"unreachable\"; */\n\t\t\tp = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2)/*:number*/);\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ]; //.concat(PseudoPropsPairs);\nfunction guess_property_type(val/*:any*/)/*:number*/ {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI/*:: || {}*/)[idx]/*:: || {} */;\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\n\t\t\t\t/*:: if(typeof val !== \"string\") throw \"unreachable\"; */\n\t\t\t\tvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({}/*:any*/);\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/);\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI/*:{[key:string|number]:any}*/, entries2/*:?any*/, clsid2/*:?any*/) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr/*:: :XLString, opts*/) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob/*::, length, opts*/) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob/*::, length, opts*/) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob/*::, length*/) {\n\tvar cAnti = blob.read_shift(2);\n\tvar preamble = \"\"; while(cAnti-- > 0) preamble += \"../\";\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return preamble + ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn preamble + unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob/*::, length*/) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\nfunction write_HyperlinkString(str/*:string*/, o) {\n\tif(!o) o = new_buf(6 + str.length * 2);\n\to.write_shift(4, 1 + str.length);\n\tfor(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i));\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length)/*:Hyperlink*/ {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tif((flags & 0x0002) && target.charAt(0) == \"/\" && target.charAt(1) != \"/\") target = \"file://\" + target;\n\tvar out = ({Target:target}/*:any*/);\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tif(Target.slice(0,7) == \"file://\") Target = Target.slice(7);\n\tvar hashidx = Target.indexOf(\"#\");\n\tvar F = hashidx > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\twrite_HyperlinkString(Target, out);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar Pretarget = hashidx > -1 ? Target.slice(0, hashidx) : Target;\n\t\tout.write_shift(4, 2*(Pretarget.length + 1));\n\t\tfor(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t\tif(F & 0x08) write_HyperlinkString(hashidx > -1 ? Target.slice(hashidx+1): \"\", out);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length - 3 * P + 1);\n\t\tfor(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob/*::, length*/)/*:Cell*/ {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe}/*:any*/);\n}\nfunction write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r/*:Range*/, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob/*::, length*/) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n\t/*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */\n\t/*::[*/0x04/*::]*/: parse_FtSkip, /* FtMacro */\n\t/*::[*/0x05/*::]*/: parse_FtSkip, /* FtButton */\n\t/*::[*/0x06/*::]*/: parse_FtSkip, /* FtGmo */\n\t/*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */\n\t/*::[*/0x08/*::]*/: parse_FtSkip, /* FtPioGrbit */\n\t/*::[*/0x09/*::]*/: parse_FtSkip, /* FtPictFmla */\n\t/*::[*/0x0A/*::]*/: parse_FtSkip, /* FtCbls */\n\t/*::[*/0x0B/*::]*/: parse_FtSkip, /* FtRbo */\n\t/*::[*/0x0C/*::]*/: parse_FtSkip, /* FtSbs */\n\t/*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */\n\t/*::[*/0x0E/*::]*/: parse_FtSkip, /* FtSbsFmla */\n\t/*::[*/0x0F/*::]*/: parse_FtSkip, /* FtGboData */\n\t/*::[*/0x10/*::]*/: parse_FtSkip, /* FtEdoData */\n\t/*::[*/0x11/*::]*/: parse_FtSkip, /* FtRboData */\n\t/*::[*/0x12/*::]*/: parse_FtSkip, /* FtCblsData */\n\t/*::[*/0x13/*::]*/: parse_FtSkip, /* FtLbsData */\n\t/*::[*/0x14/*::]*/: parse_FtSkip, /* FtCblsFmla */\n\t/*::[*/0x15/*::]*/: parse_FtCmo\n};\nfunction parse_FtArray(blob, length/*::, ot*/) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb/*:Workbook*/, t/*:number*/, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s/*:string*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10, fBelow: flags & 0x40, fRight: flags & 0x80 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length)/*:SST*/ {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs/*:SST*/ = ([]/*:any*/);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\n\t/*::(*/o/*:: :any)*/.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({}/*:any*/);\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1(/*::opts*/) {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o/*:any*/ = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ /*::, opts*/) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i/*:number*/, f/*:string*/, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\tvar f = 0;\n\tif(data.numFmtId > 0 && b5) f |= 0x0400;\n\to.write_shift(4, f);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts/*:Array*/) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2 || length == 9) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:string*/) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t}/*:any*/);\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\t/*jshint -W018 */\n\tvar rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\t/*jshint +W018 */\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length)/*:Array*/ {\n\tvar merges/*:Array*/ = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges/*:Array*/) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = {\n0x08: function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n}\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts); // eslint-disable-line no-unused-vars\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob)/*:[string|number, string|number]*/ {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}/*:any*/);\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\nfunction write_ColInfo(col, idx) {\n\tvar o = new_buf(12);\n\to.write_shift(2, idx);\n\to.write_shift(2, idx);\n\to.write_shift(2, col.width * 256);\n\to.write_shift(2, 0);\n\tvar f = 0;\n\tif(col.hidden) f |= 1;\n\to.write_shift(1, f);\n\tf = col.level || 0;\n\to.write_shift(1, f);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n/*:number*/) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 5) opts.biff = 2;\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob/*::, length*/) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\nvar DBF = /*#__PURE__*/(function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\n\t/* shapefile DBF extension */\n\t/*::[*/0x00/*::]*/: 20127, /*::[*/0x08/*::]*/: 865,\n\t/*::[*/0x09/*::]*/: 437, /*::[*/0x0A/*::]*/: 850,\n\t/*::[*/0x0B/*::]*/: 437, /*::[*/0x0D/*::]*/: 437,\n\t/*::[*/0x0E/*::]*/: 850, /*::[*/0x0F/*::]*/: 437,\n\t/*::[*/0x10/*::]*/: 850, /*::[*/0x11/*::]*/: 437,\n\t/*::[*/0x12/*::]*/: 850, /*::[*/0x13/*::]*/: 932,\n\t/*::[*/0x14/*::]*/: 850, /*::[*/0x15/*::]*/: 437,\n\t/*::[*/0x16/*::]*/: 850, /*::[*/0x17/*::]*/: 865,\n\t/*::[*/0x18/*::]*/: 437, /*::[*/0x19/*::]*/: 437,\n\t/*::[*/0x1A/*::]*/: 850, /*::[*/0x1B/*::]*/: 437,\n\t/*::[*/0x1C/*::]*/: 863, /*::[*/0x1D/*::]*/: 850,\n\t/*::[*/0x1F/*::]*/: 852, /*::[*/0x22/*::]*/: 852,\n\t/*::[*/0x23/*::]*/: 852, /*::[*/0x24/*::]*/: 860,\n\t/*::[*/0x25/*::]*/: 850, /*::[*/0x26/*::]*/: 866,\n\t/*::[*/0x37/*::]*/: 850, /*::[*/0x40/*::]*/: 852,\n\t/*::[*/0x4D/*::]*/: 936, /*::[*/0x4E/*::]*/: 949,\n\t/*::[*/0x4F/*::]*/: 950, /*::[*/0x50/*::]*/: 874,\n\t/*::[*/0x57/*::]*/: 1252, /*::[*/0x58/*::]*/: 1252,\n\t/*::[*/0x59/*::]*/: 1252, /*::[*/0x6C/*::]*/: 863,\n\t/*::[*/0x86/*::]*/: 737, /*::[*/0x87/*::]*/: 852,\n\t/*::[*/0x88/*::]*/: 857, /*::[*/0xCC/*::]*/: 1257,\n\n\t/*::[*/0xFF/*::]*/: 16969\n};\nvar dbf_reverse_map = evert({\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\t/*::[*/0x00/*::]*/: 20127\n});\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts)/*:AOA*/ {\n\tvar out/*:AOA*/ = [];\n\tvar d/*:Block*/ = (new_raw_buf(1)/*:any*/);\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64_decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = !!(ft & 0x88);\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: break; // dBASE II\n\t\tcase 0x03: break; // dBASE III\n\t\tcase 0x30: vfp = true; memo = true; break; // VFP\n\t\tcase 0x31: vfp = true; memo = true; break; // VFP with autoincrement\n\t\t// 0x43 dBASE IV SQL table files\n\t\t// 0x63 dBASE IV SQL system files\n\t\tcase 0x83: break; // dBASE III with memo\n\t\tcase 0x8B: break; // dBASE IV with memo\n\t\tcase 0x8C: l7 = true; break; // dBASE Level 7 with memo\n\t\t// case 0xCB dBASE IV SQL table files with memo\n\t\tcase 0xF5: break; // FoxPro 2.x with memo\n\t\t// case 0xFB FoxBASE\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\n\tvar nrow = 0, fpos = 0x0209;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\td.l += 3; // dBASE II stores DDMMYY date, others use YYMMDD\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(nrow > 1048576) nrow = 1e6;\n\n\tif(ft != 0x02) fpos = d.read_shift(2); // header length\n\tvar rlen = d.read_shift(2); // record length\n\n\tvar /*flags = 0,*/ current_cp = opts.codepage || 1252;\n\tif(ft != 0x02) { // 20 reserved bytes\n\t\td.l+=16;\n\t\t/*flags = */d.read_shift(1);\n\t\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t\t/* codepage present in FoxPro and dBASE Level 7 */\n\t\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\t\td.l+=1;\n\n\t\td.l+=2;\n\t}\n\tif(l7) d.l += 36; // Level 7: 32 byte \"Language driver name\", 4 byte reserved\n\n/*:: type DBFField = { name:string; len:number; type:string; } */\n\tvar fields/*:Array*/ = [], field/*:DBFField*/ = ({}/*:any*/);\n\tvar hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0))));\n\tvar ww = l7 ? 32 : 11;\n\twhile(d.l < hend && d[d.l] != 0x0d) {\n\t\tfield = ({}/*:any*/);\n\t\tfield.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // Double (VFP) / Binary (dBASE L7)\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General (FoxPro and dBASE L7)\n\t\t\tcase 'P': // Picture (FoxPro and dBASE L7)\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase '+': // Autoincrement (dBASE L7 only)\n\t\t\tcase '0': // _NullFlags (VFP only)\n\t\t\tcase '@': // Timestamp (dBASE L7 only)\n\t\t\tcase 'C': // Character (dBASE II)\n\t\t\tcase 'D': // Date (dBASE III)\n\t\t\tcase 'F': // Float (dBASE IV)\n\t\t\tcase 'I': // Long (VFP and dBASE L7)\n\t\t\tcase 'L': // Logical (dBASE II)\n\t\t\tcase 'M': // Memo (dBASE III)\n\t\t\tcase 'N': // Number (dBASE II)\n\t\t\tcase 'O': // Double (dBASE L7 only)\n\t\t\tcase 'T': // Datetime (VFP only)\n\t\t\tcase 'Y': // Currency (VFP only)\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\td.l = fpos;\n\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) {\n\t\t\t// TODO: record marked as deleted -- create a hidden row?\n\t\t\td.l+=rlen;\n\t\t\tcontinue;\n\t\t}\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = $cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\t// NOTE: it is conventional to write ' / / ' for empty dates\n\t\t\t\t\tif(s.trim().length) out[R][C] = s.replace(/\\s+$/,\"\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.trim().toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase '': case '?': break;\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N':\n\t\t\t\t\ts = s.replace(/\\u0000/g,\"\").trim();\n\t\t\t\t\t// NOTE: dBASE II interprets \" . \" as 0\n\t\t\t\t\tif(s && s != \".\") out[R][C] = +s || 0; break;\n\t\t\t\tcase '@':\n\t\t\t\t\t// NOTE: dBASE specs appear to be incorrect\n\t\t\t\t\tout[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\topts.DBF = fields;\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\tvar ws = aoa_to_sheet(dbf_to_aoa(buf, o), o);\n\tws[\"!cols\"] = o.DBF.map(function(field) { return {\n\t\twch: field.len,\n\t\tDBF: field\n\t};});\n\tdelete o.DBF;\n\treturn ws;\n}\n\nfunction dbf_to_workbook(buf, opts)/*:Workbook*/ {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa/*:AOA*/ = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1), cols = ws[\"!cols\"] || [];\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; }\n\t\tif(headers[i] == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes/*:Array*/ = [];\n\tvar colwidths/*:Array*/ = [];\n\tvar coldecimals/*:Array*/ = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar guess = '', _guess = '', maxlen = 0;\n\t\tvar col/*:Array*/ = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tmaxlen = Math.max(maxlen, String(col[j]).length);\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\t//if(guess == 'C') break;\n\t\t}\n\t\tif(maxlen > 250) maxlen = 250;\n\t\t_guess = ((cols[i]||{}).DBF||{}).type;\n\t\t/* TODO: more fine grained control over DBF type resolution */\n\t\tif(_guess == 'C') {\n\t\t\tif(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len;\n\t\t}\n\t\tif(guess == 'B' && _guess == 'N') {\n\t\t\tguess = 'N';\n\t\t\tcoldecimals[i] = cols[i].DBF.dec;\n\t\t\tmaxlen = cols[i].DBF.len;\n\t\t}\n\t\tcolwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0);\n\t\trlen += colwidths[i];\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[/*::String(*/current_ansi/*::)*/] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, coldecimals[i] || 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += (colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t}/*:any*/);\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str/*:string*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr/*:AOA*/ = [];\n\t\tvar formats/*:Array*/ = [];\n\t\tvar next_cell_format/*:string|null*/ = null;\n\t\tvar sht = {}, rowinfo/*:Array*/ = [], colinfo/*:Array*/ = [], cw/*:Array*/ = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'W': break; /* window? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1;\n\t\t\tfor(rj=1; rj -1 && arr[_R][_C];\n\t\t\t\tif(!shrbase || !shrbase[1]) throw new Error(\"SYLK shared formula cannot find base\");\n\t\t\t\tarr[R][C][1] = shift_formula_str(shrbase[1], {r: R - _R, c: C - _C});\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 'F':\n\t\t\tvar F_seen = 0;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*//*::, opts*/)/*:string*/ {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\").replace(/;/g, \";;\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number' && !col.wpx) col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number' && !col.wch) col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out/*:Array*/, rows/*:Array*/) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/)/*:string*/ {\n\t\tvar preamble/*:Array*/ = [\"ID;PWXL;N;E\"], o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = /*#__PURE__*/(function() {\n\tfunction dif_to_aoa(d/*:RawData*/, opts)/*:AOA*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri] || \"\";\n\t\t\twhile(((data.match(/[\"]/g)||[]).length & 1) && ri < records.length - 1) data += \"\\n\" + records[++ri];\n\t\t\tdata = data.trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tdata = data.replace(/\"\"/g, '\"');\n\t\t\t\t\tif(DIF_XL && data && data.match(/^=\".*\"$/)) data = data.slice(2, -1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = /*#__PURE__*/(function() {\n\t\tvar push_field = function pf(o/*:Array*/, topic/*:string*/, v/*:number*/, n/*:number*/, s/*:string*/) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o/*:Array*/, type/*:number*/, v/*:any*/, s/*:string*/) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\t\tvar o/*:Array*/ = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF_format(cell.z || table_fmt[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = /*#__PURE__*/(function() {\n\tfunction decode(s/*:string*/)/*:string*/ { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s/*:string*/)/*:string*/ { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws/*:Worksheet*/)/*:string*/ {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o/*:Array*/ = [], oo/*:Array*/ = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF_format(cell.z || table_fmt[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = /*#__PURE__*/(function() {\n\tfunction set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/, o/*:any*/) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f/*:string*/, opts)/*:AOA*/ {\n\t\tvar o = opts || {};\n\t\tvar arr/*:AOA*/ = ([]/*:any*/);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n\t\t/*::[*/0x2C/*::]*/: ',',\n\t\t/*::[*/0x09/*::]*/: \"\\t\",\n\t\t/*::[*/0x3B/*::]*/: ';',\n\t\t/*::[*/0x7C/*::]*/: '|'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n\t\t/*::[*/0x2C/*::]*/: 3,\n\t\t/*::[*/0x09/*::]*/: 2,\n\t\t/*::[*/0x3B/*::]*/: 1,\n\t\t/*::[*/0x7C/*::]*/: 0\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]] || 0x2C;\n\t}\n\n\tfunction dsv_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:0}}/*:any*/);\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t\telse sep = guess_sep(str.slice(0,1024));\n\t\t}\n\t\telse if(o && o.FS) sep = o.FS;\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0);\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({}/*:any*/);\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1; startcc = str.charCodeAt(start);\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: if(startcc === 0x22) instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(opts.FS) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64_decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf\n\t\t\t\telse if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d);\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str);\n\t\telse if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\tvar o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo/*:Array*/ = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = /*#__PURE__*/(function() {\n\tfunction lotushopper(data, cb/*:RecordHopperCB*/, opts/*:any*/) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFFFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = R.f && R.f(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d/*:RawData*/, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64_decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts)/*:Workbook*/ {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s/*:Worksheet*/ = ((o.dense ? [] : {})/*:any*/), n = \"Sheet1\", next_n = \"\", sidx = 0;\n\t\tvar sheets = {}, snames = [], realnames = [];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x00) {\n\t\t\tif(d[3] == 0x08 || d[3] == 0x09) {\n\t\t\t\tif(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error(\"Unsupported Works 3 for Mac file\");\n\t\t\t}\n\t\t}\n\n\t\tif(d[2] == 0x02) {\n\t\t\to.Enum = WK1Enum;\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0x00: /* BOF */\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0xDE: next_n = val; break; /* SHEETNAMELP */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || table_fmt[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\n\t\t\t\t\tif(o.qpro) {\n\t\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\t\tsidx = val[3]; n = next_n || \"Sheet\" + (sidx + 1); next_n = \"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];\n\t\t\t\t\tif(tmpcell) {\n\t\t\t\t\t\ttmpcell.t = val[1].t; tmpcell.v = val[1].v;\n\t\t\t\t\t\tif(val[1].z != null) tmpcell.z = val[1].z;\n\t\t\t\t\t\tif(val[1].f != null) tmpcell.f = val[1].f;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}}, o);\n\t\t} else if(d[2] == 0x1A || d[2] == 0x0E) {\n\t\t\to.Enum = WK3Enum;\n\t\t\tif(d[2] == 0x0E) { o.qpro = true; d.l = 0; }\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0xCC: n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x1B: /* XFORMAT */\n\t\t\t\t\tif(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0601: /* SHEETINFOQP */\n\t\t\t\t\trealnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;\n\t\t\t\tdefault: break;\n\t\t\t}}, o);\n\t\t} else throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[next_n || n] = s;\n\t\tsnames.push(next_n || n);\n\t\tif(!realnames.length) return { SheetNames: snames, Sheets: sheets };\n\t\tvar osheets = {}, rnames = [];\n\t\t/* TODO: verify no collisions */\n\t\tfor(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {\n\t\t\trnames.push(realnames[i] || snames[i]);\n\t\t\tosheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];\n\t\t} else {\n\t\t\trnames.push(realnames[i]);\n\t\t\tosheets[realnames[i]] = ({ \"!ref\": \"A1\" });\n\t\t}\n\t\treturn { SheetNames: rnames, Sheets: osheets };\n\t}\n\n\tfunction sheet_to_wk1(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK1 to JS string\");\n\t\tvar ba = buf_array();\n\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\tvar dense = Array.isArray(ws);\n\t\tvar cols = [];\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));\n\t\twrite_biff_rec(ba, 0x06, write_RANGE(range));\n\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\tvar rr = encode_row(R);\n\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t/* TODO: formula records */\n\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\tif((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v));\n\t\t\t\t\telse write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v));\n\t\t\t\t} else {\n\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\twrite_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239)));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\tfunction book_to_wk3(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK3 to JS string\");\n\t\tvar ba = buf_array();\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK3(wb));\n\n\t\tfor(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})[\"!ref\"]) write_biff_rec(ba, 0x1b, write_XFORMAT_SHEETNAME(wb.SheetNames[i], cnt++));\n\n\t\tvar wsidx = 0;\n\t\tfor(i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tvar cols = [];\n\t\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\t\tvar rr = encode_row(R);\n\t\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t\t/* TODO: FORMULA19 NUMBER18 records */\n\t\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\t\twrite_biff_rec(ba, 0x17, write_NUMBER_17(R, C, wsidx, cell.v));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\t\t/* TODO: max len? */\n\t\t\t\t\t\twrite_biff_rec(ba, 0x16, write_LABEL_16(R, C, wsidx, str.slice(0, 239)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t++wsidx;\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\n\tfunction write_BOF_WK1(v/*:number*/) {\n\t\tvar out = new_buf(2);\n\t\tout.write_shift(2, v);\n\t\treturn out;\n\t}\n\n\tfunction write_BOF_WK3(wb/*:Workbook*/) {\n\t\tvar out = new_buf(26);\n\t\tout.write_shift(2, 0x1000);\n\t\tout.write_shift(2, 0x0004);\n\t\tout.write_shift(4, 0x0000);\n\t\tvar rows = 0, cols = 0, wscnt = 0;\n\t\tfor(var i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar name = wb.SheetNames[i];\n\t\t\tvar ws = wb.Sheets[name];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\t++wscnt;\n\t\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\t\tif(rows < range.e.r) rows = range.e.r;\n\t\t\tif(cols < range.e.c) cols = range.e.c;\n\t\t}\n\t\tif(rows > 8191) rows = 8191;\n\t\tout.write_shift(2, rows);\n\t\tout.write_shift(1, wscnt);\n\t\tout.write_shift(1, cols);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(1, 0x01);\n\t\tout.write_shift(1, 0x02);\n\t\tout.write_shift(4, 0);\n\t\tout.write_shift(4, 0);\n\t\treturn out;\n\t}\n\n\tfunction parse_RANGE(blob, length, opts) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\tif(length == 8 && opts.qpro) {\n\t\t\to.s.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.s.r = blob.read_shift(2);\n\t\t\to.e.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.e.r = blob.read_shift(2);\n\t\t\treturn o;\n\t\t}\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\tfunction write_RANGE(range) {\n\t\tvar out = new_buf(8);\n\t\tout.write_shift(2, range.s.c);\n\t\tout.write_shift(2, range.s.r);\n\t\tout.write_shift(2, range.e.c);\n\t\tout.write_shift(2, range.e.r);\n\t\treturn out;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\to[3] = blob.read_shift(1);\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL(R, C, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(7 + s.length);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, 0x27); // ??\n\t\tfor(var i = 0; i < o.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\tfunction write_INTEGER(R, C, v) {\n\t\tvar o = new_buf(7);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(2, v, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\tfunction write_NUMBER(R, C, v) {\n\t\tvar o = new_buf(13);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(8, v, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\twk1_fmla_to_csf(blob.slice(blob.l, blob.l + flen), o);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction wk1_parse_rc(B, V, col) {\n\t\tvar rel = V & 0x8000;\n\t\tV &= ~0x8000;\n\t\tV = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V);\n\t\treturn (rel ? \"\" : \"$\") + (col ? encode_col(V) : encode_row(V));\n\t}\n\t/* var oprec = [\n\t\t8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3,\n\t\t3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8\n\t]; */\n\t/* TODO: flesh out */\n\tvar FuncTab = {\n\t\t0x33: [\"FALSE\", 0],\n\t\t0x34: [\"TRUE\", 0],\n\t\t0x46: [\"LEN\", 1],\n\t\t0x50: [\"SUM\", 69],\n\t\t0x51: [\"AVERAGEA\", 69],\n\t\t0x52: [\"COUNTA\", 69],\n\t\t0x53: [\"MINA\", 69],\n\t\t0x54: [\"MAXA\", 69],\n\t\t0x6F: [\"T\", 1]\n\t};\n\tvar BinOpTab = [\n\t\t \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"\", \"+\", \"-\", \"*\", \"/\", \"^\", \"=\", \"<>\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t\"<=\", \">=\", \"<\", \">\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"&\", \"\", \"\", \"\", \"\", \"\", \"\", \"\" // eslint-disable-line no-mixed-spaces-and-tabs\n\t];\n\n\tfunction wk1_fmla_to_csf(blob, o) {\n\t\tprep_blob(blob, 0);\n\t\tvar out = [], argc = 0, R = \"\", C = \"\", argL = \"\", argR = \"\";\n\t\twhile(blob.l < blob.length) {\n\t\t\tvar cc = blob[blob.l++];\n\t\t\tswitch(cc) {\n\t\t\t\tcase 0x00: out.push(blob.read_shift(8, 'f')); break;\n\t\t\t\tcase 0x01: {\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x02: {\n\t\t\t\t\tvar c = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tvar r = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(c + r + \":\" + C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tif(blob.l < blob.length) { console.error(\"WK1 premature formula end\"); return; }\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x04: out.push(\"(\" + out.pop() + \")\"); break;\n\t\t\t\tcase 0x05: out.push(blob.read_shift(2)); break;\n\t\t\t\tcase 0x06: {\n\t\t\t\t\t/* TODO: text encoding */\n\t\t\t\t\tvar Z = \"\"; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc);\n\t\t\t\t\tout.push('\"' + Z.replace(/\"/g, '\"\"') + '\"');\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x08: out.push(\"-\" + out.pop()); break;\n\t\t\t\tcase 0x17: out.push(\"+\" + out.pop()); break;\n\t\t\t\tcase 0x16: out.push(\"NOT(\" + out.pop() + \")\"); break;\n\n\t\t\t\tcase 0x14: case 0x15: {\n\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\tout.push([\"AND\", \"OR\"][cc - 0x14] + \"(\" + argL + \",\" + argR + \")\");\n\t\t\t\t} break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif(cc < 0x20 && BinOpTab[cc]) {\n\t\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\t\tout.push(argL + BinOpTab[cc] + argR);\n\t\t\t\t\t} else if(FuncTab[cc]) {\n\t\t\t\t\t\targc = FuncTab[cc][1];\n\t\t\t\t\t\tif(argc == 69) argc = blob[blob.l++];\n\t\t\t\t\t\tif(argc > out.length) { console.error(\"WK1 bad formula parse 0x\" + cc.toString(16) + \":|\" + out.join(\"|\") + \"|\"); return; }\n\t\t\t\t\t\tvar args = out.slice(-argc);\n\t\t\t\t\t\tout.length -= argc;\n\t\t\t\t\t\tout.push(FuncTab[cc][0] + \"(\" + args.join(\",\") + \")\");\n\t\t\t\t\t}\n\t\t\t\t\telse if(cc <= 0x07) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x18) return console.error(\"WK1 unsupported op \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x1E) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x73) return console.error(\"WK1 unsupported function opcode \" + cc.toString(16));\n\t\t\t\t\t// possible future functions ??\n\t\t\t\t\telse return console.error(\"WK1 unrecognized opcode \" + cc.toString(16));\n\t\t\t}\n\t\t}\n\t\tif(out.length == 1) o[1].f = \"\" + out[0];\n\t\telse console.error(\"WK1 bad formula parse |\" + out.join(\"|\") + \"|\");\n\t}\n\n\n\tfunction parse_cell_3(blob/*::, length*/) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL_16(R, C, wsidx, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(6 + s.length);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\to.write_shift(1, 0x27);\n\t\tfor(var i = 0; i < s.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 0: v = (v >> 3) * 5000; break;\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 3: v = (v >> 3) / 200; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 5: v = (v >> 3) / 20000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) {\n\t\t\tif(v1 === 0 && v2 === 0xC0000000) { o[1].t = \"e\"; o[1].v = 0x0F; } // ERR -> #VALUE!\n\t\t\telse if(v1 === 0 && v2 === 0xD0000000) { o[1].t = \"e\"; o[1].v = 0x2A; } // NA -> #N/A\n\t\t\telse o[1].v = 0;\n\t\t\treturn o;\n\t\t}\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (1 - s*2) * (v2 * Math.pow(2, e+32) + v1 * Math.pow(2, e));\n\t\treturn o;\n\t}\n\tfunction write_NUMBER_17(R, C, wsidx, v) {\n\t\tvar o = new_buf(14);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\tif(v == 0) {\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(2, 0xFFFF);\n\t\t\treturn o;\n\t\t}\n\t\tvar s = 0, e = 0, v1 = 0, v2 = 0;\n\t\tif(v < 0) { s = 1; v = -v; }\n\t\te = Math.log2(v) | 0;\n\t\tv /= Math.pow(2, e-31);\n\t\tv2 = (v)>>>0;\n\t\tif((v2&0x80000000) == 0) { v/=2; ++e; v2 = v >>> 0; }\n\t\tv -= v2;\n\t\tv2 |= 0x80000000;\n\t\tv2 >>>= 0;\n\t\tv *= Math.pow(2, 32);\n\t\tv1 = v>>>0;\n\t\to.write_shift(4, v1);\n\t\to.write_shift(4, v2);\n\t\te += 0x3FFF + (s ? 0x8000 : 0);\n\t\to.write_shift(2, e);\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: WK3 formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETNAMECS(blob, length) {\n\t\treturn blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : \"\";\n\t}\n\n\tfunction parse_SHEETNAMELP(blob, length) {\n\t\tvar len = blob[blob.l++];\n\t\tif(len > length - 1) len = length - 1;\n\t\tvar o = \"\"; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETINFOQP(blob, length, opts) {\n\t\tif(!opts.qpro || length < 21) return;\n\t\tvar id = blob.read_shift(1);\n\t\tblob.l += 17;\n\t\tblob.l += 1; //var len = blob.read_shift(1);\n\t\tblob.l += 2;\n\t\tvar nm = blob.read_shift(length - 21, 'cstr');\n\t\treturn [id, nm];\n\t}\n\n\tfunction parse_XFORMAT(blob, length) {\n\t\tvar o = {}, tgt = blob.l + length;\n\t\twhile(blob.l < tgt) {\n\t\t\tvar dt = blob.read_shift(2);\n\t\t\tif(dt == 0x36b0) {\n\t\t\t\to[dt] = [0, \"\"];\n\t\t\t\to[dt][0] = blob.read_shift(2);\n\t\t\t\twhile(blob[blob.l]) { o[dt][1] += String.fromCharCode(blob[blob.l]); blob.l++; } blob.l++;\n\t\t\t}\n\t\t\t// TODO: 0x3a99 ??\n\t\t}\n\t\treturn o;\n\t}\n\tfunction write_XFORMAT_SHEETNAME(name, wsidx) {\n\t\tvar out = new_buf(5 + name.length);\n\t\tout.write_shift(2, 0x36b0);\n\t\tout.write_shift(2, wsidx);\n\t\tfor(var i = 0; i < name.length; ++i) {\n\t\t\tvar cc = name.charCodeAt(i);\n\t\t\tout[out.l++] = cc > 0x7F ? 0x5F : cc;\n\t\t}\n\t\tout[out.l++] = 0;\n\t\treturn out;\n\t}\n\n\tvar WK1Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\", f:parseuint16 },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"CALCMODE\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCORDER\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"SPLIT\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SYNC\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"RANGE\", f:parse_RANGE },\n\t\t/*::[*/0x0007/*::]*/: { n:\"WINDOW1\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"COLW1\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"WINTWO\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"COLW2\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"NAME\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"BLANK\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"INTEGER\", f:parse_INTEGER },\n\t\t/*::[*/0x000E/*::]*/: { n:\"NUMBER\", f:parse_NUMBER },\n\t\t/*::[*/0x000F/*::]*/: { n:\"LABEL\", f:parse_LABEL },\n\t\t/*::[*/0x0010/*::]*/: { n:\"FORMULA\", f:parse_FORMULA },\n\t\t/*::[*/0x0018/*::]*/: { n:\"TABLE\" },\n\t\t/*::[*/0x0019/*::]*/: { n:\"ORANGE\" },\n\t\t/*::[*/0x001A/*::]*/: { n:\"PRANGE\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"SRANGE\" },\n\t\t/*::[*/0x001C/*::]*/: { n:\"FRANGE\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"KRANGE1\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"HRANGE\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"KRANGE2\" },\n\t\t/*::[*/0x0024/*::]*/: { n:\"PROTEC\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"FOOTER\" },\n\t\t/*::[*/0x0026/*::]*/: { n:\"HEADER\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"SETUP\" },\n\t\t/*::[*/0x0028/*::]*/: { n:\"MARGINS\" },\n\t\t/*::[*/0x0029/*::]*/: { n:\"LABELFMT\" },\n\t\t/*::[*/0x002A/*::]*/: { n:\"TITLES\" },\n\t\t/*::[*/0x002B/*::]*/: { n:\"SHEETJS\" },\n\t\t/*::[*/0x002D/*::]*/: { n:\"GRAPH\" },\n\t\t/*::[*/0x002E/*::]*/: { n:\"NGRAPH\" },\n\t\t/*::[*/0x002F/*::]*/: { n:\"CALCCOUNT\" },\n\t\t/*::[*/0x0030/*::]*/: { n:\"UNFORMATTED\" },\n\t\t/*::[*/0x0031/*::]*/: { n:\"CURSORW12\" },\n\t\t/*::[*/0x0032/*::]*/: { n:\"WINDOW\" },\n\t\t/*::[*/0x0033/*::]*/: { n:\"STRING\", f:parse_LABEL },\n\t\t/*::[*/0x0037/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0038/*::]*/: { n:\"LOCKED\" },\n\t\t/*::[*/0x003C/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x003D/*::]*/: { n:\"QUERYNAME\" },\n\t\t/*::[*/0x003E/*::]*/: { n:\"PRINT\" },\n\t\t/*::[*/0x003F/*::]*/: { n:\"PRINTNAME\" },\n\t\t/*::[*/0x0040/*::]*/: { n:\"GRAPH2\" },\n\t\t/*::[*/0x0041/*::]*/: { n:\"GRAPHNAME\" },\n\t\t/*::[*/0x0042/*::]*/: { n:\"ZOOM\" },\n\t\t/*::[*/0x0043/*::]*/: { n:\"SYMSPLIT\" },\n\t\t/*::[*/0x0044/*::]*/: { n:\"NSROWS\" },\n\t\t/*::[*/0x0045/*::]*/: { n:\"NSCOLS\" },\n\t\t/*::[*/0x0046/*::]*/: { n:\"RULER\" },\n\t\t/*::[*/0x0047/*::]*/: { n:\"NNAME\" },\n\t\t/*::[*/0x0048/*::]*/: { n:\"ACOMM\" },\n\t\t/*::[*/0x0049/*::]*/: { n:\"AMACRO\" },\n\t\t/*::[*/0x004A/*::]*/: { n:\"PARSE\" },\n\t\t/*::[*/0x0066/*::]*/: { n:\"PRANGES??\" },\n\t\t/*::[*/0x0067/*::]*/: { n:\"RRANGES??\" },\n\t\t/*::[*/0x0068/*::]*/: { n:\"FNAME??\" },\n\t\t/*::[*/0x0069/*::]*/: { n:\"MRANGES??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00DE/*::]*/: { n:\"SHEETNAMELP\", f:parse_SHEETNAMELP },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\n\tvar WK3Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\" },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCSET\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"WINDOWSET\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SHEETCELLPTR\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"SHEETLAYOUT\" },\n\t\t/*::[*/0x0007/*::]*/: { n:\"COLUMNWIDTH\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"HIDDENCOLUMN\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"USERRANGE\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"SYSTEMRANGE\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"ZEROFORCE\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"SORTKEYDIR\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"FILESEAL\" },\n\t\t/*::[*/0x000E/*::]*/: { n:\"DATAFILLNUMS\" },\n\t\t/*::[*/0x000F/*::]*/: { n:\"PRINTMAIN\" },\n\t\t/*::[*/0x0010/*::]*/: { n:\"PRINTSTRING\" },\n\t\t/*::[*/0x0011/*::]*/: { n:\"GRAPHMAIN\" },\n\t\t/*::[*/0x0012/*::]*/: { n:\"GRAPHSTRING\" },\n\t\t/*::[*/0x0013/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0014/*::]*/: { n:\"ERRCELL\" },\n\t\t/*::[*/0x0015/*::]*/: { n:\"NACELL\" },\n\t\t/*::[*/0x0016/*::]*/: { n:\"LABEL16\", f:parse_LABEL_16},\n\t\t/*::[*/0x0017/*::]*/: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n\t\t/*::[*/0x0018/*::]*/: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n\t\t/*::[*/0x0019/*::]*/: { n:\"FORMULA19\", f:parse_FORMULA_19},\n\t\t/*::[*/0x001A/*::]*/: { n:\"FORMULA1A\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"XFORMAT\", f:parse_XFORMAT },\n\t\t/*::[*/0x001C/*::]*/: { n:\"DTLABELMISC\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"DTLABELCELL\" },\n\t\t/*::[*/0x001E/*::]*/: { n:\"GRAPHWINDOW\" },\n\t\t/*::[*/0x001F/*::]*/: { n:\"CPA\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"LPLAUTO\" },\n\t\t/*::[*/0x0021/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x0022/*::]*/: { n:\"HIDDENSHEET\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n\t\t/*::[*/0x0026/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n\t\t/*::[*/0x0028/*::]*/: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n\t\t/*::[*/0x008E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0093/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0096/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0097/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0098/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0099/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00A3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B1/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B8/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BA/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BB/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BC/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00CD/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00D0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0100/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0103/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0104/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0105/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0106/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0107/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0109/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010F/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0180/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0185/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0186/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0189/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x018C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0200/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0202/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0201/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0204/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0205/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0280/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0281/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0282/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0283/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0284/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0285/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0286/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0287/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0288/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0292/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0293/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0294/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0295/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0296/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0299/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x029A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0300/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0304/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0601/*::]*/: { n:\"SHEETINFOQP\", f:parse_SHEETINFOQP },\n\t\t/*::[*/0x0640/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0642/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0701/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0702/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0703/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0704/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0780/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0800/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0801/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0804/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0A80/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x2AF6/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x3231/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6E49/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6F44/*::]*/: { n:\"??\" },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\treturn {\n\t\tsheet_to_wk1: sheet_to_wk1,\n\t\tbook_to_wk3: book_to_wk3,\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.18 family ST_FontFamily */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = /*#__PURE__*/(function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o/*:Cell*/ = ({t:'s', v:unescapexml(t[1])}/*:any*/);\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = /*#__PURE__*/(function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style/*:Array*/ = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms/*:[Array, string, Array]*/ = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data/*:string*/, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst/*:SST*/, opts)/*:string*/ {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS_main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s/*:XLString*/ = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* BrtBeginSst */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* BrtSSTItem */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* BrtEndSst */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst/*::, opts*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x009F /* BrtBeginSst */, write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, 0x00A0 /* BrtEndSst */);\n\treturn ba.end();\n}\nfunction _JS2ANSI(str/*:string*/)/*:Array*/ {\n\tif(typeof $cptable !== 'undefined') return $cptable.utils.encode(current_ansi, str);\n\tvar o/*:Array*/ = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length/*:?number*/) {\n\tvar o/*:any*/ = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\n\t/*:: if(length == null) return o; */\n\tif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps/*:Array<{t:number, v:string}>*/ = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob)/*:Array*/ {\n\tvar o/*:Array*/ = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length/*:number*/) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length/*:number*/) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob/*::, vers*/) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt(/*::blob, vers*/) { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob/*::, vers*/) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob/*::, length*/) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password/*:string*/) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = /*#__PURE__*/(function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password/*:string*/) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password/*:string*/) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/);\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length/*:number*/, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length/*:number*/, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }/*:any*/); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = /*#__PURE__*/(function() {\n\tfunction rtf_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\t/* TODO: this is a stub */\n\tfunction rtf_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\n\t\tvar rows = str.match(/\\\\trowd.*?\\\\row\\b/g);\n\t\tif(!rows.length) throw new Error(\"RTF missing table\");\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:rows.length - 1}}/*:any*/);\n\t\trows.forEach(function(rowtf, R) {\n\t\t\tif(Array.isArray(ws)) ws[R] = [];\n\t\t\tvar rtfre = /\\\\\\w+\\b/g;\n\t\t\tvar last_index = 0;\n\t\t\tvar res;\n\t\t\tvar C = -1;\n\t\t\twhile((res = rtfre.exec(rowtf))) {\n\t\t\t\tswitch(res[0]) {\n\t\t\t\t\tcase \"\\\\cell\":\n\t\t\t\t\t\tvar data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length);\n\t\t\t\t\t\tif(data[0] == \" \") data = data.slice(1);\n\t\t\t\t\t\t++C;\n\t\t\t\t\t\tif(data.length) {\n\t\t\t\t\t\t\t// TODO: value parsing, including codepage adjustments\n\t\t\t\t\t\t\tvar cell = {v: data, t:\"s\"};\n\t\t\t\t\t\t\tif(Array.isArray(ws)) ws[R][C] = cell;\n\t\t\t\t\t\t\telse ws[encode_cell({r:R, c:C})] = cell;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tlast_index = rtfre.lastIndex;\n\t\t\t}\n\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t});\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws/*:Worksheet*//*::, opts*/)/*:string*/ {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll/*:ColInfo*/) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = /*::(*/{}/*:: :any)*/;\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(table_fmt)/*:any*/);\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = table_fmt[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF_load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF/*:{[n:number|string]:string}*//*::, opts*/) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(styles.NumberFmt && xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= /*#__PURE__*/(function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nfunction write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('styleSheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:vt': XMLNS.vt\n\t})], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length/*:number*/) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i/*:number*/, f/*:string*/, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length/*:number*/, opts) {\n\tvar out = ({}/*:any*/);\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font/*:any*/, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames/*:EvertNumType*/;\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tif(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/);\n\tvar fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length/*:number*/) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]/*:any*/);\n\tfor(var y in table_fmt) styles.NumberFmt[y] = table_fmt[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* BrtFmt */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF_load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* BrtFont */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* BrtKnownFonts */ break;\n\t\t\tcase 0x002D: /* BrtFill */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* BrtBorder */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* BrtXF */\n\t\t\t\tif(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* BrtStyle */\n\t\t\tcase 0x01FB: /* BrtDXF */\n\t\t\tcase 0x023C: /* BrtMRUColor */\n\t\t\tcase 0x01DB: /* BrtIndexedColor */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* BrtDXF14 */\n\t\t\tcase 0x0836: /* BrtDXF15 */\n\t\t\tcase 0x046A: /* BrtSlicerStyleElement */\n\t\t\tcase 0x0200: /* BrtTableStyleElement */\n\t\t\tcase 0x082F: /* BrtTimelineStyleElement */\n\t\t\tcase 0x0C00: /* BrtUid */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* BrtACBegin */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* BrtACEnd */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF/*:?SSFTable*/) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0267 /* BrtBeginFmts */, write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, 0x002C /* BrtFmt */, write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, 0x0268 /* BrtEndFmts */);\n}\n\nfunction write_FONTS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0263 /* BrtBeginFonts */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002B /* BrtFont */, write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, 0x0264 /* BrtEndFonts */);\n}\n\nfunction write_FILLS_bin(ba/*::, data*/) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x025B /* BrtBeginFills */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, 0x025C /* BrtEndFills */);\n}\n\nfunction write_BORDERS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0265 /* BrtBeginBorders */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002E /* BrtBorder */, write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, 0x0266 /* BrtEndBorders */);\n}\n\nfunction write_CELLSTYLEXFS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\twrite_record(ba, 0x0272 /* BrtBeginCellStyleXFs */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002F /* BrtXF */, write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x0273 /* BrtEndCellStyleXFs */);\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, 0x002F /* BrtXF */, write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x026A /* BrtEndCellXFs */);\n}\n\nfunction write_STYLES_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\twrite_record(ba, 0x026B /* BrtBeginStyles */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x0030 /* BrtStyle */, write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, 0x026C /* BrtEndStyles */);\n}\n\nfunction write_DXFS_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01F9 /* BrtBeginDXFs */, write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, 0x01FA /* BrtEndDXFs */);\n}\n\nfunction write_TABLESTYLES_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01FC /* BrtBeginTableStyles */, write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, 0x01FD /* BrtEndTableStyles */);\n}\n\nfunction write_COLORPALETTE_bin(/*::ba, data*/) {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0116 /* BrtBeginStyleSheet */);\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, 0x0117 /* BrtEndStyleSheet */);\n\treturn ba.end();\n}\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme(/*::t, themes, opts*/) { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme(/*::t, themes, opts*/) { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data/*:string*/, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) data = write_theme();\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts)/*:string*/ {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = zip_read(data, {type: \"array\"}); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob/*::, length*/) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob/*::, length*/) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob/*::, length*/)/*:Array*/ {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext/*:AOA*/ = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\nfunction parse_BrtMdtinfo(data, length) {\n return {\n flags: data.read_shift(4),\n version: data.read_shift(4),\n name: parse_XLWideString(data, length - 8)\n };\n}\nfunction write_BrtMdtinfo(data) {\n var o = new_buf(12 + 2 * data.name.length);\n o.write_shift(4, data.flags);\n o.write_shift(4, data.version);\n write_XLWideString(data.name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtMdb(data) {\n var out = [];\n var cnt = data.read_shift(4);\n while (cnt-- > 0)\n out.push([data.read_shift(4), data.read_shift(4)]);\n return out;\n}\nfunction write_BrtMdb(mdb) {\n var o = new_buf(4 + 8 * mdb.length);\n o.write_shift(4, mdb.length);\n for (var i = 0; i < mdb.length; ++i) {\n o.write_shift(4, mdb[i][0]);\n o.write_shift(4, mdb[i][1]);\n }\n return o;\n}\nfunction write_BrtBeginEsfmd(cnt, name) {\n var o = new_buf(8 + 2 * name.length);\n o.write_shift(4, cnt);\n write_XLWideString(name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtBeginEsmdb(data) {\n data.l += 4;\n return data.read_shift(4) != 0;\n}\nfunction write_BrtBeginEsmdb(cnt, cm) {\n var o = new_buf(8);\n o.write_shift(4, cnt);\n o.write_shift(4, cm ? 1 : 0);\n return o;\n}\nfunction parse_xlmeta_bin(data, name, _opts) {\n var out = { Types: [], Cell: [], Value: [] };\n var opts = _opts || {};\n var state = [];\n var pass = false;\n var metatype = 2;\n recordhopper(data, function(val, R, RT) {\n switch (RT) {\n case 335:\n out.Types.push({ name: val.name });\n break;\n case 51:\n val.forEach(function(r) {\n if (metatype == 1)\n out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n else if (metatype == 0)\n out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n });\n break;\n case 337:\n metatype = val ? 1 : 0;\n break;\n case 338:\n metatype = 2;\n break;\n case 35:\n state.push(RT);\n pass = true;\n break;\n case 36:\n state.pop();\n pass = false;\n break;\n default:\n if (R.T) {\n } else if (!pass || opts.WTF && state[state.length - 1] != 35)\n throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n }\n });\n return out;\n}\nfunction write_xlmeta_bin() {\n var ba = buf_array();\n write_record(ba, 332);\n write_record(ba, 334, write_UInt32LE(1));\n write_record(ba, 335, write_BrtMdtinfo({\n name: \"XLDAPR\",\n version: 12e4,\n flags: 3496657072\n }));\n write_record(ba, 336);\n write_record(ba, 339, write_BrtBeginEsfmd(1, \"XLDAPR\"));\n write_record(ba, 52);\n write_record(ba, 35, write_UInt32LE(514));\n write_record(ba, 4096, write_UInt32LE(0));\n write_record(ba, 4097, writeuint16(1));\n write_record(ba, 36);\n write_record(ba, 53);\n write_record(ba, 340);\n write_record(ba, 337, write_BrtBeginEsmdb(1, true));\n write_record(ba, 51, write_BrtMdb([[1, 0]]));\n write_record(ba, 338);\n write_record(ba, 333);\n return ba.end();\n}\nfunction parse_xlmeta_xml(data, name, opts) {\n var out = { Types: [], Cell: [], Value: [] };\n if (!data)\n return out;\n var pass = false;\n var metatype = 2;\n var lastmeta;\n data.replace(tagregex, function(x) {\n var y = parsexmltag(x);\n switch (strip_ns(y[0])) {\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n case \"\":\n case \"\":\n break;\n case \"\":\n pass = false;\n break;\n case \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n');\n return o.join(\"\");\n}\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data/*::, name, opts*/)/*:Array*/ {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ']*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId/*:number*/, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = /*::(*/{'color2':\"#BEFF82\", 'type':\"gradient\"}/*:: :any)*/;\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"}/*:any*/);\n\t++_shapeid;\n\n\to = o.concat([\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\nfunction sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell/*:Cell*/;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"}/*:any*/);\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded});\n\t\tif(comment.h) o.h = comment.h;\n\n\t\t/* threaded comments always override */\n\t\tfor(var i = cell.c.length - 1; i >= 0; --i) {\n\t\t\tif(!threaded && cell.c[i].T) return;\n\t\t\tif(threaded && !cell.c[i].T) cell.c.splice(i, 1);\n\t\t}\n\t\tif(threaded && people) for(i = 0; i < people.length; ++i) {\n\t\t\tif(o.a == people[i].id) { o.a = people[i].name || o.a; break; }\n\t\t}\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data/*:string*/, opts)/*:Array*/ {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors/*:Array*/ = [];\n\tvar commentList/*:Array*/ = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment/*:RawComment*/ = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid }/*:any*/);\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = (rt.t||\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nfunction write_comments_xml(data/*::, opts*/) {\n\tvar o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })];\n\n\tvar iauthor/*:Array*/ = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) == -1) {\n\t\t\tiauthor.push(a);\n\t\t\to.push(\"\" + a + \"\");\n\t\t}\n\t\tif(w.T && w.ID && iauthor.indexOf(\"tc=\" + w.ID) == -1) {\n\t\t\tiauthor.push(\"tc=\" + w.ID);\n\t\t\to.push(\"\" + \"tc=\" + w.ID + \"\");\n\t\t}\n\t}); });\n\tif(iauthor.length == 0) { iauthor.push(\"SheetJ5\"); o.push(\"SheetJ5\"); }\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\t/* 18.7.3 CT_Comment */\n\t\tvar lastauthor = 0, ts = [];\n\t\tif(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf(\"tc=\" + d[1][0].ID);\n\t\telse d[1].forEach(function(c) {\n\t\t\tif(c.a) lastauthor = iauthor.indexOf(escapexml(c.a));\n\t\t\tts.push(c.t||\"\");\n\t\t});\n\t\to.push('');\n\t\tif(ts.length <= 1) o.push(writetag(\"t\", escapexml(ts[0]||\"\")));\n\t\telse {\n\t\t\t/* based on Threaded Comments -> Comments projection */\n\t\t\tvar t = \"Comment:\\n \" + (ts[0]) + \"\\n\";\n\t\t\tfor(var i = 1; i < ts.length; ++i) t += \"Reply:\\n \" + ts[i] + \"\\n\";\n\t\t\to.push(writetag(\"t\", escapexml(t)));\n\t\t}\n\t\to.push('');\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.17 */\nfunction parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ {\n\tvar out = [];\n\tvar pass = false, comment = {}, tidx = 0;\n\tdata.replace(tagregex, function xml_tcmnt(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.205 threadedComment CT_ThreadedComment */\n\t\t\tcase '': if(comment.t != null) out.push(comment); break;\n\n\t\t\tcase '': case '': comment.t = data.slice(tidx, idx).replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\"); break;\n\n\t\t\t/* 2.6.206 mentions CT_ThreadedCommentMentions TODO */\n\t\t\tcase '': pass = true; break;\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 2.6.202 mention CT_Mention TODO */\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '
': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\n\nfunction write_tcmnt_xml(comments, people, opts) {\n\tvar o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\\/]>/, \">\")];\n\tcomments.forEach(function(carr) {\n\t\tvar rootid = \"\";\n\t\t(carr[1] || []).forEach(function(c, idx) {\n\t\t\tif(!c.T) { delete c.ID; return; }\n\t\t\tif(c.a && people.indexOf(c.a) == -1) people.push(c.a);\n\t\t\tvar tcopts = {\n\t\t\t\tref: carr[0],\n\t\t\t\tid: \"{54EE7951-7262-4200-6969-\" + (\"000000000000\" + opts.tcid++).slice(-12) + \"}\"\n\t\t\t};\n\t\t\tif(idx == 0) rootid = tcopts.id;\n\t\t\telse tcopts.parentId = rootid;\n\t\t\tc.ID = tcopts.id;\n\t\t\tif(c.a) tcopts.personId = \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + people.indexOf(c.a)).slice(-12) + \"}\";\n\t\t\to.push(writextag('threadedComment', writetag('text', c.t||\"\"), tcopts));\n\t\t});\n\t});\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.18 */\nfunction parse_people_xml(data/*:string*/, opts) {\n\tvar out = [];\n\tvar pass = false;\n\tdata.replace(tagregex, function xml_tcmnt(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.203 person CT_Person TODO: providers */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\nfunction write_people_xml(people/*, opts*/) {\n\tvar o = [XML_HEADER, writextag('personList', null, {\n\t\t'xmlns': XMLNS.TCMNT,\n\t\t'xmlns:x': XMLNS_main[0]\n\t}).replace(/[\\/]>/, \">\")];\n\tpeople.forEach(function(person, idx) {\n\t\to.push(writextag('person', null, {\n\t\t\tdisplayName: person,\n\t\t\tid: \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + idx).slice(-12) + \"}\",\n\t\t\tuserId: person,\n\t\t\tproviderId: \"None\"\n\t\t}));\n\t});\n\to.push(\"\");\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]/*:any*/), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts)/*:Array*/ {\n\tvar out/*:Array*/ = [];\n\tvar authors/*:Array*/ = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c/*:any*/).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data/*::, opts*/) {\n\tvar ba = buf_array();\n\tvar iauthor/*:Array*/ = [];\n\twrite_record(ba, 0x0274 /* BrtBeginComments */);\n\n\twrite_record(ba, 0x0276 /* BrtBeginCommentAuthors */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, 0x0277 /* BrtEndCommentAuthors */);\n\n\twrite_record(ba, 0x0279 /* BrtBeginCommentList */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c));\n\t\t\twrite_record(ba, 0x027C /* BrtEndComment */);\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, 0x027A /* BrtEndCommentList */);\n\n\twrite_record(ba, 0x0275 /* BrtEndComments */);\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n var newcfb = CFB.utils.cfb_new({ root: \"R\" });\n cfb.FullPaths.forEach(function(p, i) {\n if (p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/))\n return;\n var newpath = p.replace(/^[^\\/]*/, \"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n CFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n });\n return CFB.write(newcfb);\n}\nfunction fill_vba_xls(cfb, vba) {\n vba.FullPaths.forEach(function(p, i) {\n if (i == 0)\n return;\n var newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n if (newpath.slice(-1) !== \"/\")\n CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n });\n}\nvar VBAFMTS = [\"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\"];\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ms_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\nfunction parse_ms_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = /*#__PURE__*/(function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase/*:Cell*/ = ({r:0,c:0}/*:any*/);\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr/*:string*/, base/*:Cell*/)/*:string*/ {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc = /*#__PURE__*/(function(){\n\treturn function a1_to_rc(fstr/*:string*/, base/*:CellAddress*/) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f/*:string*/)/*:boolean*/ {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f/*:string*/)/*:string*/ {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob/*::, length, opts*/) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob/*::, length, opts*/) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob/*::, length, opts*/) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts)/*:Array*/ {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o/*:Array*/ = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob/*::, length*/) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff/*:number*/) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o/*:Array>*/ = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob/*::, length, opts*/) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob/*::, length, opts*/) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n\t/*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp },\n\t/*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl },\n\t/*::[*/0x03/*::]*/: { n:'PtgAdd', f:parseread1 },\n\t/*::[*/0x04/*::]*/: { n:'PtgSub', f:parseread1 },\n\t/*::[*/0x05/*::]*/: { n:'PtgMul', f:parseread1 },\n\t/*::[*/0x06/*::]*/: { n:'PtgDiv', f:parseread1 },\n\t/*::[*/0x07/*::]*/: { n:'PtgPower', f:parseread1 },\n\t/*::[*/0x08/*::]*/: { n:'PtgConcat', f:parseread1 },\n\t/*::[*/0x09/*::]*/: { n:'PtgLt', f:parseread1 },\n\t/*::[*/0x0A/*::]*/: { n:'PtgLe', f:parseread1 },\n\t/*::[*/0x0B/*::]*/: { n:'PtgEq', f:parseread1 },\n\t/*::[*/0x0C/*::]*/: { n:'PtgGe', f:parseread1 },\n\t/*::[*/0x0D/*::]*/: { n:'PtgGt', f:parseread1 },\n\t/*::[*/0x0E/*::]*/: { n:'PtgNe', f:parseread1 },\n\t/*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parseread1 },\n\t/*::[*/0x10/*::]*/: { n:'PtgUnion', f:parseread1 },\n\t/*::[*/0x11/*::]*/: { n:'PtgRange', f:parseread1 },\n\t/*::[*/0x12/*::]*/: { n:'PtgUplus', f:parseread1 },\n\t/*::[*/0x13/*::]*/: { n:'PtgUminus', f:parseread1 },\n\t/*::[*/0x14/*::]*/: { n:'PtgPercent', f:parseread1 },\n\t/*::[*/0x15/*::]*/: { n:'PtgParen', f:parseread1 },\n\t/*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parseread1 },\n\t/*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr },\n\t/*::[*/0x1A/*::]*/: { n:'PtgSheet', f:parse_PtgSheet },\n\t/*::[*/0x1B/*::]*/: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n\t/*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr },\n\t/*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool },\n\t/*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt },\n\t/*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum },\n\t/*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray },\n\t/*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc },\n\t/*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n\t/*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName },\n\t/*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef },\n\t/*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea },\n\t/*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea },\n\t/*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr },\n\t/*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n\t/*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n\t/*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr },\n\t/*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n\t/*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN },\n\t/*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN },\n\t/*::[*/0x2E/*::]*/: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n\t/*::[*/0x2F/*::]*/: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n\t/*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX },\n\t/*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d },\n\t/*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d },\n\t/*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n\t/*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n\t/*::[*/0xFF/*::]*/: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n\t/*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20,\n\t/*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21,\n\t/*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22,\n\t/*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23,\n\t/*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24,\n\t/*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25,\n\t/*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26,\n\t/*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27,\n\t/*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28,\n\t/*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29,\n\t/*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A,\n\t/*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B,\n\t/*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C,\n\t/*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D,\n\t/*::[*/0x4E/*::]*/: 0x2E, /*::[*/0x6E/*::]*/: 0x2E,\n\t/*::[*/0x4F/*::]*/: 0x2F, /*::[*/0x6F/*::]*/: 0x2F,\n\t/*::[*/0x58/*::]*/: 0x22, /*::[*/0x78/*::]*/: 0x22,\n\t/*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39,\n\t/*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A,\n\t/*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B,\n\t/*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C,\n\t/*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D\n};\n\nvar Ptg18 = {\n\t/*::[*/0x01/*::]*/: { n:'PtgElfLel', f:parse_PtgElfLel },\n\t/*::[*/0x02/*::]*/: { n:'PtgElfRw', f:parse_PtgElfRw },\n\t/*::[*/0x03/*::]*/: { n:'PtgElfCol', f:parse_PtgElfCol },\n\t/*::[*/0x06/*::]*/: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n\t/*::[*/0x07/*::]*/: { n:'PtgElfColV', f:parse_PtgElfColV },\n\t/*::[*/0x0A/*::]*/: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n\t/*::[*/0x0B/*::]*/: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n\t/*::[*/0x0D/*::]*/: { n:'PtgElfColS', f:parse_PtgElfColS },\n\t/*::[*/0x0F/*::]*/: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n\t/*::[*/0x10/*::]*/: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n\t/*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList },\n\t/*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName },\n\t/*::[*/0xFF/*::]*/: {}\n};\nvar Ptg19 = {\n\t/*::[*/0x00/*::]*/: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n\t/*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n\t/*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n\t/*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n\t/*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n\t/*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n\t/*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x21/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n\t/*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n\t/*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n\t/*::[*/0xFF/*::]*/: {}\n};\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id] || PtgTypes[PtgDupes[id]];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f/*:Array>*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r/*:Array*/ = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\n\t\t\t\t\t/*:: if(typeof y[1] != 'string') throw \"unreachable\"; */\n\t\t\t\t\tr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// List of invalid characters needs to be tested further\nfunction formula_quote_sheet_name(sname/*:string*/, opts)/*:string*/ {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/.test(sname)) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tvar ixtiraw = get_ixti_raw(supbooks, ixti, opts);\n\treturn ixtiraw == \"#REF\" ? ixtiraw : formula_quote_sheet_name(ixtiraw, opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, opts)/*:string*/ {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack/*:Array*/ = [], e1, e2, /*::type,*/ c/*:CellAddress*/, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\n\t\t\t\t/*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\n\t\t\t\t/*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]/*:any*/);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\t/* [MS-XLSB] 2.5.97.10 Ftab -- last verified 20220204 */\n\t\t\t\tif(name && name.slice(0,6) == \"_xlfn.\" && !opts.xlfn) name = name.slice(6);\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = (get_ixti_raw(supbooks, bookidx, opts)||\"\").split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r}/*:any*/);\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t} else {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(/*::String(*/f[1]/*::)*/);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(/*::(*/f[1]/*:: :any)*/) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts/*::, ref*/) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob/*::, length*/) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, os/*:number*/) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\nvar Cetab = {\n 0: \"BEEP\",\n 1: \"OPEN\",\n 2: \"OPEN.LINKS\",\n 3: \"CLOSE.ALL\",\n 4: \"SAVE\",\n 5: \"SAVE.AS\",\n 6: \"FILE.DELETE\",\n 7: \"PAGE.SETUP\",\n 8: \"PRINT\",\n 9: \"PRINTER.SETUP\",\n 10: \"QUIT\",\n 11: \"NEW.WINDOW\",\n 12: \"ARRANGE.ALL\",\n 13: \"WINDOW.SIZE\",\n 14: \"WINDOW.MOVE\",\n 15: \"FULL\",\n 16: \"CLOSE\",\n 17: \"RUN\",\n 22: \"SET.PRINT.AREA\",\n 23: \"SET.PRINT.TITLES\",\n 24: \"SET.PAGE.BREAK\",\n 25: \"REMOVE.PAGE.BREAK\",\n 26: \"FONT\",\n 27: \"DISPLAY\",\n 28: \"PROTECT.DOCUMENT\",\n 29: \"PRECISION\",\n 30: \"A1.R1C1\",\n 31: \"CALCULATE.NOW\",\n 32: \"CALCULATION\",\n 34: \"DATA.FIND\",\n 35: \"EXTRACT\",\n 36: \"DATA.DELETE\",\n 37: \"SET.DATABASE\",\n 38: \"SET.CRITERIA\",\n 39: \"SORT\",\n 40: \"DATA.SERIES\",\n 41: \"TABLE\",\n 42: \"FORMAT.NUMBER\",\n 43: \"ALIGNMENT\",\n 44: \"STYLE\",\n 45: \"BORDER\",\n 46: \"CELL.PROTECTION\",\n 47: \"COLUMN.WIDTH\",\n 48: \"UNDO\",\n 49: \"CUT\",\n 50: \"COPY\",\n 51: \"PASTE\",\n 52: \"CLEAR\",\n 53: \"PASTE.SPECIAL\",\n 54: \"EDIT.DELETE\",\n 55: \"INSERT\",\n 56: \"FILL.RIGHT\",\n 57: \"FILL.DOWN\",\n 61: \"DEFINE.NAME\",\n 62: \"CREATE.NAMES\",\n 63: \"FORMULA.GOTO\",\n 64: \"FORMULA.FIND\",\n 65: \"SELECT.LAST.CELL\",\n 66: \"SHOW.ACTIVE.CELL\",\n 67: \"GALLERY.AREA\",\n 68: \"GALLERY.BAR\",\n 69: \"GALLERY.COLUMN\",\n 70: \"GALLERY.LINE\",\n 71: \"GALLERY.PIE\",\n 72: \"GALLERY.SCATTER\",\n 73: \"COMBINATION\",\n 74: \"PREFERRED\",\n 75: \"ADD.OVERLAY\",\n 76: \"GRIDLINES\",\n 77: \"SET.PREFERRED\",\n 78: \"AXES\",\n 79: \"LEGEND\",\n 80: \"ATTACH.TEXT\",\n 81: \"ADD.ARROW\",\n 82: \"SELECT.CHART\",\n 83: \"SELECT.PLOT.AREA\",\n 84: \"PATTERNS\",\n 85: \"MAIN.CHART\",\n 86: \"OVERLAY\",\n 87: \"SCALE\",\n 88: \"FORMAT.LEGEND\",\n 89: \"FORMAT.TEXT\",\n 90: \"EDIT.REPEAT\",\n 91: \"PARSE\",\n 92: \"JUSTIFY\",\n 93: \"HIDE\",\n 94: \"UNHIDE\",\n 95: \"WORKSPACE\",\n 96: \"FORMULA\",\n 97: \"FORMULA.FILL\",\n 98: \"FORMULA.ARRAY\",\n 99: \"DATA.FIND.NEXT\",\n 100: \"DATA.FIND.PREV\",\n 101: \"FORMULA.FIND.NEXT\",\n 102: \"FORMULA.FIND.PREV\",\n 103: \"ACTIVATE\",\n 104: \"ACTIVATE.NEXT\",\n 105: \"ACTIVATE.PREV\",\n 106: \"UNLOCKED.NEXT\",\n 107: \"UNLOCKED.PREV\",\n 108: \"COPY.PICTURE\",\n 109: \"SELECT\",\n 110: \"DELETE.NAME\",\n 111: \"DELETE.FORMAT\",\n 112: \"VLINE\",\n 113: \"HLINE\",\n 114: \"VPAGE\",\n 115: \"HPAGE\",\n 116: \"VSCROLL\",\n 117: \"HSCROLL\",\n 118: \"ALERT\",\n 119: \"NEW\",\n 120: \"CANCEL.COPY\",\n 121: \"SHOW.CLIPBOARD\",\n 122: \"MESSAGE\",\n 124: \"PASTE.LINK\",\n 125: \"APP.ACTIVATE\",\n 126: \"DELETE.ARROW\",\n 127: \"ROW.HEIGHT\",\n 128: \"FORMAT.MOVE\",\n 129: \"FORMAT.SIZE\",\n 130: \"FORMULA.REPLACE\",\n 131: \"SEND.KEYS\",\n 132: \"SELECT.SPECIAL\",\n 133: \"APPLY.NAMES\",\n 134: \"REPLACE.FONT\",\n 135: \"FREEZE.PANES\",\n 136: \"SHOW.INFO\",\n 137: \"SPLIT\",\n 138: \"ON.WINDOW\",\n 139: \"ON.DATA\",\n 140: \"DISABLE.INPUT\",\n 142: \"OUTLINE\",\n 143: \"LIST.NAMES\",\n 144: \"FILE.CLOSE\",\n 145: \"SAVE.WORKBOOK\",\n 146: \"DATA.FORM\",\n 147: \"COPY.CHART\",\n 148: \"ON.TIME\",\n 149: \"WAIT\",\n 150: \"FORMAT.FONT\",\n 151: \"FILL.UP\",\n 152: \"FILL.LEFT\",\n 153: \"DELETE.OVERLAY\",\n 155: \"SHORT.MENUS\",\n 159: \"SET.UPDATE.STATUS\",\n 161: \"COLOR.PALETTE\",\n 162: \"DELETE.STYLE\",\n 163: \"WINDOW.RESTORE\",\n 164: \"WINDOW.MAXIMIZE\",\n 166: \"CHANGE.LINK\",\n 167: \"CALCULATE.DOCUMENT\",\n 168: \"ON.KEY\",\n 169: \"APP.RESTORE\",\n 170: \"APP.MOVE\",\n 171: \"APP.SIZE\",\n 172: \"APP.MINIMIZE\",\n 173: \"APP.MAXIMIZE\",\n 174: \"BRING.TO.FRONT\",\n 175: \"SEND.TO.BACK\",\n 185: \"MAIN.CHART.TYPE\",\n 186: \"OVERLAY.CHART.TYPE\",\n 187: \"SELECT.END\",\n 188: \"OPEN.MAIL\",\n 189: \"SEND.MAIL\",\n 190: \"STANDARD.FONT\",\n 191: \"CONSOLIDATE\",\n 192: \"SORT.SPECIAL\",\n 193: \"GALLERY.3D.AREA\",\n 194: \"GALLERY.3D.COLUMN\",\n 195: \"GALLERY.3D.LINE\",\n 196: \"GALLERY.3D.PIE\",\n 197: \"VIEW.3D\",\n 198: \"GOAL.SEEK\",\n 199: \"WORKGROUP\",\n 200: \"FILL.GROUP\",\n 201: \"UPDATE.LINK\",\n 202: \"PROMOTE\",\n 203: \"DEMOTE\",\n 204: \"SHOW.DETAIL\",\n 206: \"UNGROUP\",\n 207: \"OBJECT.PROPERTIES\",\n 208: \"SAVE.NEW.OBJECT\",\n 209: \"SHARE\",\n 210: \"SHARE.NAME\",\n 211: \"DUPLICATE\",\n 212: \"APPLY.STYLE\",\n 213: \"ASSIGN.TO.OBJECT\",\n 214: \"OBJECT.PROTECTION\",\n 215: \"HIDE.OBJECT\",\n 216: \"SET.EXTRACT\",\n 217: \"CREATE.PUBLISHER\",\n 218: \"SUBSCRIBE.TO\",\n 219: \"ATTRIBUTES\",\n 220: \"SHOW.TOOLBAR\",\n 222: \"PRINT.PREVIEW\",\n 223: \"EDIT.COLOR\",\n 224: \"SHOW.LEVELS\",\n 225: \"FORMAT.MAIN\",\n 226: \"FORMAT.OVERLAY\",\n 227: \"ON.RECALC\",\n 228: \"EDIT.SERIES\",\n 229: \"DEFINE.STYLE\",\n 240: \"LINE.PRINT\",\n 243: \"ENTER.DATA\",\n 249: \"GALLERY.RADAR\",\n 250: \"MERGE.STYLES\",\n 251: \"EDITION.OPTIONS\",\n 252: \"PASTE.PICTURE\",\n 253: \"PASTE.PICTURE.LINK\",\n 254: \"SPELLING\",\n 256: \"ZOOM\",\n 259: \"INSERT.OBJECT\",\n 260: \"WINDOW.MINIMIZE\",\n 265: \"SOUND.NOTE\",\n 266: \"SOUND.PLAY\",\n 267: \"FORMAT.SHAPE\",\n 268: \"EXTEND.POLYGON\",\n 269: \"FORMAT.AUTO\",\n 272: \"GALLERY.3D.BAR\",\n 273: \"GALLERY.3D.SURFACE\",\n 274: \"FILL.AUTO\",\n 276: \"CUSTOMIZE.TOOLBAR\",\n 277: \"ADD.TOOL\",\n 278: \"EDIT.OBJECT\",\n 279: \"ON.DOUBLECLICK\",\n 280: \"ON.ENTRY\",\n 281: \"WORKBOOK.ADD\",\n 282: \"WORKBOOK.MOVE\",\n 283: \"WORKBOOK.COPY\",\n 284: \"WORKBOOK.OPTIONS\",\n 285: \"SAVE.WORKSPACE\",\n 288: \"CHART.WIZARD\",\n 289: \"DELETE.TOOL\",\n 290: \"MOVE.TOOL\",\n 291: \"WORKBOOK.SELECT\",\n 292: \"WORKBOOK.ACTIVATE\",\n 293: \"ASSIGN.TO.TOOL\",\n 295: \"COPY.TOOL\",\n 296: \"RESET.TOOL\",\n 297: \"CONSTRAIN.NUMERIC\",\n 298: \"PASTE.TOOL\",\n 302: \"WORKBOOK.NEW\",\n 305: \"SCENARIO.CELLS\",\n 306: \"SCENARIO.DELETE\",\n 307: \"SCENARIO.ADD\",\n 308: \"SCENARIO.EDIT\",\n 309: \"SCENARIO.SHOW\",\n 310: \"SCENARIO.SHOW.NEXT\",\n 311: \"SCENARIO.SUMMARY\",\n 312: \"PIVOT.TABLE.WIZARD\",\n 313: \"PIVOT.FIELD.PROPERTIES\",\n 314: \"PIVOT.FIELD\",\n 315: \"PIVOT.ITEM\",\n 316: \"PIVOT.ADD.FIELDS\",\n 318: \"OPTIONS.CALCULATION\",\n 319: \"OPTIONS.EDIT\",\n 320: \"OPTIONS.VIEW\",\n 321: \"ADDIN.MANAGER\",\n 322: \"MENU.EDITOR\",\n 323: \"ATTACH.TOOLBARS\",\n 324: \"VBAActivate\",\n 325: \"OPTIONS.CHART\",\n 328: \"VBA.INSERT.FILE\",\n 330: \"VBA.PROCEDURE.DEFINITION\",\n 336: \"ROUTING.SLIP\",\n 338: \"ROUTE.DOCUMENT\",\n 339: \"MAIL.LOGON\",\n 342: \"INSERT.PICTURE\",\n 343: \"EDIT.TOOL\",\n 344: \"GALLERY.DOUGHNUT\",\n 350: \"CHART.TREND\",\n 352: \"PIVOT.ITEM.PROPERTIES\",\n 354: \"WORKBOOK.INSERT\",\n 355: \"OPTIONS.TRANSITION\",\n 356: \"OPTIONS.GENERAL\",\n 370: \"FILTER.ADVANCED\",\n 373: \"MAIL.ADD.MAILER\",\n 374: \"MAIL.DELETE.MAILER\",\n 375: \"MAIL.REPLY\",\n 376: \"MAIL.REPLY.ALL\",\n 377: \"MAIL.FORWARD\",\n 378: \"MAIL.NEXT.LETTER\",\n 379: \"DATA.LABEL\",\n 380: \"INSERT.TITLE\",\n 381: \"FONT.PROPERTIES\",\n 382: \"MACRO.OPTIONS\",\n 383: \"WORKBOOK.HIDE\",\n 384: \"WORKBOOK.UNHIDE\",\n 385: \"WORKBOOK.DELETE\",\n 386: \"WORKBOOK.NAME\",\n 388: \"GALLERY.CUSTOM\",\n 390: \"ADD.CHART.AUTOFORMAT\",\n 391: \"DELETE.CHART.AUTOFORMAT\",\n 392: \"CHART.ADD.DATA\",\n 393: \"AUTO.OUTLINE\",\n 394: \"TAB.ORDER\",\n 395: \"SHOW.DIALOG\",\n 396: \"SELECT.ALL\",\n 397: \"UNGROUP.SHEETS\",\n 398: \"SUBTOTAL.CREATE\",\n 399: \"SUBTOTAL.REMOVE\",\n 400: \"RENAME.OBJECT\",\n 412: \"WORKBOOK.SCROLL\",\n 413: \"WORKBOOK.NEXT\",\n 414: \"WORKBOOK.PREV\",\n 415: \"WORKBOOK.TAB.SPLIT\",\n 416: \"FULL.SCREEN\",\n 417: \"WORKBOOK.PROTECT\",\n 420: \"SCROLLBAR.PROPERTIES\",\n 421: \"PIVOT.SHOW.PAGES\",\n 422: \"TEXT.TO.COLUMNS\",\n 423: \"FORMAT.CHARTTYPE\",\n 424: \"LINK.FORMAT\",\n 425: \"TRACER.DISPLAY\",\n 430: \"TRACER.NAVIGATE\",\n 431: \"TRACER.CLEAR\",\n 432: \"TRACER.ERROR\",\n 433: \"PIVOT.FIELD.GROUP\",\n 434: \"PIVOT.FIELD.UNGROUP\",\n 435: \"CHECKBOX.PROPERTIES\",\n 436: \"LABEL.PROPERTIES\",\n 437: \"LISTBOX.PROPERTIES\",\n 438: \"EDITBOX.PROPERTIES\",\n 439: \"PIVOT.REFRESH\",\n 440: \"LINK.COMBO\",\n 441: \"OPEN.TEXT\",\n 442: \"HIDE.DIALOG\",\n 443: \"SET.DIALOG.FOCUS\",\n 444: \"ENABLE.OBJECT\",\n 445: \"PUSHBUTTON.PROPERTIES\",\n 446: \"SET.DIALOG.DEFAULT\",\n 447: \"FILTER\",\n 448: \"FILTER.SHOW.ALL\",\n 449: \"CLEAR.OUTLINE\",\n 450: \"FUNCTION.WIZARD\",\n 451: \"ADD.LIST.ITEM\",\n 452: \"SET.LIST.ITEM\",\n 453: \"REMOVE.LIST.ITEM\",\n 454: \"SELECT.LIST.ITEM\",\n 455: \"SET.CONTROL.VALUE\",\n 456: \"SAVE.COPY.AS\",\n 458: \"OPTIONS.LISTS.ADD\",\n 459: \"OPTIONS.LISTS.DELETE\",\n 460: \"SERIES.AXES\",\n 461: \"SERIES.X\",\n 462: \"SERIES.Y\",\n 463: \"ERRORBAR.X\",\n 464: \"ERRORBAR.Y\",\n 465: \"FORMAT.CHART\",\n 466: \"SERIES.ORDER\",\n 467: \"MAIL.LOGOFF\",\n 468: \"CLEAR.ROUTING.SLIP\",\n 469: \"APP.ACTIVATE.MICROSOFT\",\n 470: \"MAIL.EDIT.MAILER\",\n 471: \"ON.SHEET\",\n 472: \"STANDARD.WIDTH\",\n 473: \"SCENARIO.MERGE\",\n 474: \"SUMMARY.INFO\",\n 475: \"FIND.FILE\",\n 476: \"ACTIVE.CELL.FONT\",\n 477: \"ENABLE.TIPWIZARD\",\n 478: \"VBA.MAKE.ADDIN\",\n 480: \"INSERTDATATABLE\",\n 481: \"WORKGROUP.OPTIONS\",\n 482: \"MAIL.SEND.MAILER\",\n 485: \"AUTOCORRECT\",\n 489: \"POST.DOCUMENT\",\n 491: \"PICKLIST\",\n 493: \"VIEW.SHOW\",\n 494: \"VIEW.DEFINE\",\n 495: \"VIEW.DELETE\",\n 509: \"SHEET.BACKGROUND\",\n 510: \"INSERT.MAP.OBJECT\",\n 511: \"OPTIONS.MENONO\",\n 517: \"MSOCHECKS\",\n 518: \"NORMAL\",\n 519: \"LAYOUT\",\n 520: \"RM.PRINT.AREA\",\n 521: \"CLEAR.PRINT.AREA\",\n 522: \"ADD.PRINT.AREA\",\n 523: \"MOVE.BRK\",\n 545: \"HIDECURR.NOTE\",\n 546: \"HIDEALL.NOTES\",\n 547: \"DELETE.NOTE\",\n 548: \"TRAVERSE.NOTES\",\n 549: \"ACTIVATE.NOTES\",\n 620: \"PROTECT.REVISIONS\",\n 621: \"UNPROTECT.REVISIONS\",\n 647: \"OPTIONS.ME\",\n 653: \"WEB.PUBLISH\",\n 667: \"NEWWEBQUERY\",\n 673: \"PIVOT.TABLE.CHART\",\n 753: \"OPTIONS.SAVE\",\n 755: \"OPTIONS.SPELL\",\n 808: \"HIDEALL.INKANNOTS\"\n};\nvar Ftab = {\n 0: \"COUNT\",\n 1: \"IF\",\n 2: \"ISNA\",\n 3: \"ISERROR\",\n 4: \"SUM\",\n 5: \"AVERAGE\",\n 6: \"MIN\",\n 7: \"MAX\",\n 8: \"ROW\",\n 9: \"COLUMN\",\n 10: \"NA\",\n 11: \"NPV\",\n 12: \"STDEV\",\n 13: \"DOLLAR\",\n 14: \"FIXED\",\n 15: \"SIN\",\n 16: \"COS\",\n 17: \"TAN\",\n 18: \"ATAN\",\n 19: \"PI\",\n 20: \"SQRT\",\n 21: \"EXP\",\n 22: \"LN\",\n 23: \"LOG10\",\n 24: \"ABS\",\n 25: \"INT\",\n 26: \"SIGN\",\n 27: \"ROUND\",\n 28: \"LOOKUP\",\n 29: \"INDEX\",\n 30: \"REPT\",\n 31: \"MID\",\n 32: \"LEN\",\n 33: \"VALUE\",\n 34: \"TRUE\",\n 35: \"FALSE\",\n 36: \"AND\",\n 37: \"OR\",\n 38: \"NOT\",\n 39: \"MOD\",\n 40: \"DCOUNT\",\n 41: \"DSUM\",\n 42: \"DAVERAGE\",\n 43: \"DMIN\",\n 44: \"DMAX\",\n 45: \"DSTDEV\",\n 46: \"VAR\",\n 47: \"DVAR\",\n 48: \"TEXT\",\n 49: \"LINEST\",\n 50: \"TREND\",\n 51: \"LOGEST\",\n 52: \"GROWTH\",\n 53: \"GOTO\",\n 54: \"HALT\",\n 55: \"RETURN\",\n 56: \"PV\",\n 57: \"FV\",\n 58: \"NPER\",\n 59: \"PMT\",\n 60: \"RATE\",\n 61: \"MIRR\",\n 62: \"IRR\",\n 63: \"RAND\",\n 64: \"MATCH\",\n 65: \"DATE\",\n 66: \"TIME\",\n 67: \"DAY\",\n 68: \"MONTH\",\n 69: \"YEAR\",\n 70: \"WEEKDAY\",\n 71: \"HOUR\",\n 72: \"MINUTE\",\n 73: \"SECOND\",\n 74: \"NOW\",\n 75: \"AREAS\",\n 76: \"ROWS\",\n 77: \"COLUMNS\",\n 78: \"OFFSET\",\n 79: \"ABSREF\",\n 80: \"RELREF\",\n 81: \"ARGUMENT\",\n 82: \"SEARCH\",\n 83: \"TRANSPOSE\",\n 84: \"ERROR\",\n 85: \"STEP\",\n 86: \"TYPE\",\n 87: \"ECHO\",\n 88: \"SET.NAME\",\n 89: \"CALLER\",\n 90: \"DEREF\",\n 91: \"WINDOWS\",\n 92: \"SERIES\",\n 93: \"DOCUMENTS\",\n 94: \"ACTIVE.CELL\",\n 95: \"SELECTION\",\n 96: \"RESULT\",\n 97: \"ATAN2\",\n 98: \"ASIN\",\n 99: \"ACOS\",\n 100: \"CHOOSE\",\n 101: \"HLOOKUP\",\n 102: \"VLOOKUP\",\n 103: \"LINKS\",\n 104: \"INPUT\",\n 105: \"ISREF\",\n 106: \"GET.FORMULA\",\n 107: \"GET.NAME\",\n 108: \"SET.VALUE\",\n 109: \"LOG\",\n 110: \"EXEC\",\n 111: \"CHAR\",\n 112: \"LOWER\",\n 113: \"UPPER\",\n 114: \"PROPER\",\n 115: \"LEFT\",\n 116: \"RIGHT\",\n 117: \"EXACT\",\n 118: \"TRIM\",\n 119: \"REPLACE\",\n 120: \"SUBSTITUTE\",\n 121: \"CODE\",\n 122: \"NAMES\",\n 123: \"DIRECTORY\",\n 124: \"FIND\",\n 125: \"CELL\",\n 126: \"ISERR\",\n 127: \"ISTEXT\",\n 128: \"ISNUMBER\",\n 129: \"ISBLANK\",\n 130: \"T\",\n 131: \"N\",\n 132: \"FOPEN\",\n 133: \"FCLOSE\",\n 134: \"FSIZE\",\n 135: \"FREADLN\",\n 136: \"FREAD\",\n 137: \"FWRITELN\",\n 138: \"FWRITE\",\n 139: \"FPOS\",\n 140: \"DATEVALUE\",\n 141: \"TIMEVALUE\",\n 142: \"SLN\",\n 143: \"SYD\",\n 144: \"DDB\",\n 145: \"GET.DEF\",\n 146: \"REFTEXT\",\n 147: \"TEXTREF\",\n 148: \"INDIRECT\",\n 149: \"REGISTER\",\n 150: \"CALL\",\n 151: \"ADD.BAR\",\n 152: \"ADD.MENU\",\n 153: \"ADD.COMMAND\",\n 154: \"ENABLE.COMMAND\",\n 155: \"CHECK.COMMAND\",\n 156: \"RENAME.COMMAND\",\n 157: \"SHOW.BAR\",\n 158: \"DELETE.MENU\",\n 159: \"DELETE.COMMAND\",\n 160: \"GET.CHART.ITEM\",\n 161: \"DIALOG.BOX\",\n 162: \"CLEAN\",\n 163: \"MDETERM\",\n 164: \"MINVERSE\",\n 165: \"MMULT\",\n 166: \"FILES\",\n 167: \"IPMT\",\n 168: \"PPMT\",\n 169: \"COUNTA\",\n 170: \"CANCEL.KEY\",\n 171: \"FOR\",\n 172: \"WHILE\",\n 173: \"BREAK\",\n 174: \"NEXT\",\n 175: \"INITIATE\",\n 176: \"REQUEST\",\n 177: \"POKE\",\n 178: \"EXECUTE\",\n 179: \"TERMINATE\",\n 180: \"RESTART\",\n 181: \"HELP\",\n 182: \"GET.BAR\",\n 183: \"PRODUCT\",\n 184: \"FACT\",\n 185: \"GET.CELL\",\n 186: \"GET.WORKSPACE\",\n 187: \"GET.WINDOW\",\n 188: \"GET.DOCUMENT\",\n 189: \"DPRODUCT\",\n 190: \"ISNONTEXT\",\n 191: \"GET.NOTE\",\n 192: \"NOTE\",\n 193: \"STDEVP\",\n 194: \"VARP\",\n 195: \"DSTDEVP\",\n 196: \"DVARP\",\n 197: \"TRUNC\",\n 198: \"ISLOGICAL\",\n 199: \"DCOUNTA\",\n 200: \"DELETE.BAR\",\n 201: \"UNREGISTER\",\n 204: \"USDOLLAR\",\n 205: \"FINDB\",\n 206: \"SEARCHB\",\n 207: \"REPLACEB\",\n 208: \"LEFTB\",\n 209: \"RIGHTB\",\n 210: \"MIDB\",\n 211: \"LENB\",\n 212: \"ROUNDUP\",\n 213: \"ROUNDDOWN\",\n 214: \"ASC\",\n 215: \"DBCS\",\n 216: \"RANK\",\n 219: \"ADDRESS\",\n 220: \"DAYS360\",\n 221: \"TODAY\",\n 222: \"VDB\",\n 223: \"ELSE\",\n 224: \"ELSE.IF\",\n 225: \"END.IF\",\n 226: \"FOR.CELL\",\n 227: \"MEDIAN\",\n 228: \"SUMPRODUCT\",\n 229: \"SINH\",\n 230: \"COSH\",\n 231: \"TANH\",\n 232: \"ASINH\",\n 233: \"ACOSH\",\n 234: \"ATANH\",\n 235: \"DGET\",\n 236: \"CREATE.OBJECT\",\n 237: \"VOLATILE\",\n 238: \"LAST.ERROR\",\n 239: \"CUSTOM.UNDO\",\n 240: \"CUSTOM.REPEAT\",\n 241: \"FORMULA.CONVERT\",\n 242: \"GET.LINK.INFO\",\n 243: \"TEXT.BOX\",\n 244: \"INFO\",\n 245: \"GROUP\",\n 246: \"GET.OBJECT\",\n 247: \"DB\",\n 248: \"PAUSE\",\n 251: \"RESUME\",\n 252: \"FREQUENCY\",\n 253: \"ADD.TOOLBAR\",\n 254: \"DELETE.TOOLBAR\",\n 255: \"User\",\n 256: \"RESET.TOOLBAR\",\n 257: \"EVALUATE\",\n 258: \"GET.TOOLBAR\",\n 259: \"GET.TOOL\",\n 260: \"SPELLING.CHECK\",\n 261: \"ERROR.TYPE\",\n 262: \"APP.TITLE\",\n 263: \"WINDOW.TITLE\",\n 264: \"SAVE.TOOLBAR\",\n 265: \"ENABLE.TOOL\",\n 266: \"PRESS.TOOL\",\n 267: \"REGISTER.ID\",\n 268: \"GET.WORKBOOK\",\n 269: \"AVEDEV\",\n 270: \"BETADIST\",\n 271: \"GAMMALN\",\n 272: \"BETAINV\",\n 273: \"BINOMDIST\",\n 274: \"CHIDIST\",\n 275: \"CHIINV\",\n 276: \"COMBIN\",\n 277: \"CONFIDENCE\",\n 278: \"CRITBINOM\",\n 279: \"EVEN\",\n 280: \"EXPONDIST\",\n 281: \"FDIST\",\n 282: \"FINV\",\n 283: \"FISHER\",\n 284: \"FISHERINV\",\n 285: \"FLOOR\",\n 286: \"GAMMADIST\",\n 287: \"GAMMAINV\",\n 288: \"CEILING\",\n 289: \"HYPGEOMDIST\",\n 290: \"LOGNORMDIST\",\n 291: \"LOGINV\",\n 292: \"NEGBINOMDIST\",\n 293: \"NORMDIST\",\n 294: \"NORMSDIST\",\n 295: \"NORMINV\",\n 296: \"NORMSINV\",\n 297: \"STANDARDIZE\",\n 298: \"ODD\",\n 299: \"PERMUT\",\n 300: \"POISSON\",\n 301: \"TDIST\",\n 302: \"WEIBULL\",\n 303: \"SUMXMY2\",\n 304: \"SUMX2MY2\",\n 305: \"SUMX2PY2\",\n 306: \"CHITEST\",\n 307: \"CORREL\",\n 308: \"COVAR\",\n 309: \"FORECAST\",\n 310: \"FTEST\",\n 311: \"INTERCEPT\",\n 312: \"PEARSON\",\n 313: \"RSQ\",\n 314: \"STEYX\",\n 315: \"SLOPE\",\n 316: \"TTEST\",\n 317: \"PROB\",\n 318: \"DEVSQ\",\n 319: \"GEOMEAN\",\n 320: \"HARMEAN\",\n 321: \"SUMSQ\",\n 322: \"KURT\",\n 323: \"SKEW\",\n 324: \"ZTEST\",\n 325: \"LARGE\",\n 326: \"SMALL\",\n 327: \"QUARTILE\",\n 328: \"PERCENTILE\",\n 329: \"PERCENTRANK\",\n 330: \"MODE\",\n 331: \"TRIMMEAN\",\n 332: \"TINV\",\n 334: \"MOVIE.COMMAND\",\n 335: \"GET.MOVIE\",\n 336: \"CONCATENATE\",\n 337: \"POWER\",\n 338: \"PIVOT.ADD.DATA\",\n 339: \"GET.PIVOT.TABLE\",\n 340: \"GET.PIVOT.FIELD\",\n 341: \"GET.PIVOT.ITEM\",\n 342: \"RADIANS\",\n 343: \"DEGREES\",\n 344: \"SUBTOTAL\",\n 345: \"SUMIF\",\n 346: \"COUNTIF\",\n 347: \"COUNTBLANK\",\n 348: \"SCENARIO.GET\",\n 349: \"OPTIONS.LISTS.GET\",\n 350: \"ISPMT\",\n 351: \"DATEDIF\",\n 352: \"DATESTRING\",\n 353: \"NUMBERSTRING\",\n 354: \"ROMAN\",\n 355: \"OPEN.DIALOG\",\n 356: \"SAVE.DIALOG\",\n 357: \"VIEW.GET\",\n 358: \"GETPIVOTDATA\",\n 359: \"HYPERLINK\",\n 360: \"PHONETIC\",\n 361: \"AVERAGEA\",\n 362: \"MAXA\",\n 363: \"MINA\",\n 364: \"STDEVPA\",\n 365: \"VARPA\",\n 366: \"STDEVA\",\n 367: \"VARA\",\n 368: \"BAHTTEXT\",\n 369: \"THAIDAYOFWEEK\",\n 370: \"THAIDIGIT\",\n 371: \"THAIMONTHOFYEAR\",\n 372: \"THAINUMSOUND\",\n 373: \"THAINUMSTRING\",\n 374: \"THAISTRINGLENGTH\",\n 375: \"ISTHAIDIGIT\",\n 376: \"ROUNDBAHTDOWN\",\n 377: \"ROUNDBAHTUP\",\n 378: \"THAIYEAR\",\n 379: \"RTD\",\n 380: \"CUBEVALUE\",\n 381: \"CUBEMEMBER\",\n 382: \"CUBEMEMBERPROPERTY\",\n 383: \"CUBERANKEDMEMBER\",\n 384: \"HEX2BIN\",\n 385: \"HEX2DEC\",\n 386: \"HEX2OCT\",\n 387: \"DEC2BIN\",\n 388: \"DEC2HEX\",\n 389: \"DEC2OCT\",\n 390: \"OCT2BIN\",\n 391: \"OCT2HEX\",\n 392: \"OCT2DEC\",\n 393: \"BIN2DEC\",\n 394: \"BIN2OCT\",\n 395: \"BIN2HEX\",\n 396: \"IMSUB\",\n 397: \"IMDIV\",\n 398: \"IMPOWER\",\n 399: \"IMABS\",\n 400: \"IMSQRT\",\n 401: \"IMLN\",\n 402: \"IMLOG2\",\n 403: \"IMLOG10\",\n 404: \"IMSIN\",\n 405: \"IMCOS\",\n 406: \"IMEXP\",\n 407: \"IMARGUMENT\",\n 408: \"IMCONJUGATE\",\n 409: \"IMAGINARY\",\n 410: \"IMREAL\",\n 411: \"COMPLEX\",\n 412: \"IMSUM\",\n 413: \"IMPRODUCT\",\n 414: \"SERIESSUM\",\n 415: \"FACTDOUBLE\",\n 416: \"SQRTPI\",\n 417: \"QUOTIENT\",\n 418: \"DELTA\",\n 419: \"GESTEP\",\n 420: \"ISEVEN\",\n 421: \"ISODD\",\n 422: \"MROUND\",\n 423: \"ERF\",\n 424: \"ERFC\",\n 425: \"BESSELJ\",\n 426: \"BESSELK\",\n 427: \"BESSELY\",\n 428: \"BESSELI\",\n 429: \"XIRR\",\n 430: \"XNPV\",\n 431: \"PRICEMAT\",\n 432: \"YIELDMAT\",\n 433: \"INTRATE\",\n 434: \"RECEIVED\",\n 435: \"DISC\",\n 436: \"PRICEDISC\",\n 437: \"YIELDDISC\",\n 438: \"TBILLEQ\",\n 439: \"TBILLPRICE\",\n 440: \"TBILLYIELD\",\n 441: \"PRICE\",\n 442: \"YIELD\",\n 443: \"DOLLARDE\",\n 444: \"DOLLARFR\",\n 445: \"NOMINAL\",\n 446: \"EFFECT\",\n 447: \"CUMPRINC\",\n 448: \"CUMIPMT\",\n 449: \"EDATE\",\n 450: \"EOMONTH\",\n 451: \"YEARFRAC\",\n 452: \"COUPDAYBS\",\n 453: \"COUPDAYS\",\n 454: \"COUPDAYSNC\",\n 455: \"COUPNCD\",\n 456: \"COUPNUM\",\n 457: \"COUPPCD\",\n 458: \"DURATION\",\n 459: \"MDURATION\",\n 460: \"ODDLPRICE\",\n 461: \"ODDLYIELD\",\n 462: \"ODDFPRICE\",\n 463: \"ODDFYIELD\",\n 464: \"RANDBETWEEN\",\n 465: \"WEEKNUM\",\n 466: \"AMORDEGRC\",\n 467: \"AMORLINC\",\n 468: \"CONVERT\",\n 724: \"SHEETJS\",\n 469: \"ACCRINT\",\n 470: \"ACCRINTM\",\n 471: \"WORKDAY\",\n 472: \"NETWORKDAYS\",\n 473: \"GCD\",\n 474: \"MULTINOMIAL\",\n 475: \"LCM\",\n 476: \"FVSCHEDULE\",\n 477: \"CUBEKPIMEMBER\",\n 478: \"CUBESET\",\n 479: \"CUBESETCOUNT\",\n 480: \"IFERROR\",\n 481: \"COUNTIFS\",\n 482: \"SUMIFS\",\n 483: \"AVERAGEIF\",\n 484: \"AVERAGEIFS\"\n};\nvar FtabArgc = {\n 2: 1,\n 3: 1,\n 10: 0,\n 15: 1,\n 16: 1,\n 17: 1,\n 18: 1,\n 19: 0,\n 20: 1,\n 21: 1,\n 22: 1,\n 23: 1,\n 24: 1,\n 25: 1,\n 26: 1,\n 27: 2,\n 30: 2,\n 31: 3,\n 32: 1,\n 33: 1,\n 34: 0,\n 35: 0,\n 38: 1,\n 39: 2,\n 40: 3,\n 41: 3,\n 42: 3,\n 43: 3,\n 44: 3,\n 45: 3,\n 47: 3,\n 48: 2,\n 53: 1,\n 61: 3,\n 63: 0,\n 65: 3,\n 66: 3,\n 67: 1,\n 68: 1,\n 69: 1,\n 70: 1,\n 71: 1,\n 72: 1,\n 73: 1,\n 74: 0,\n 75: 1,\n 76: 1,\n 77: 1,\n 79: 2,\n 80: 2,\n 83: 1,\n 85: 0,\n 86: 1,\n 89: 0,\n 90: 1,\n 94: 0,\n 95: 0,\n 97: 2,\n 98: 1,\n 99: 1,\n 101: 3,\n 102: 3,\n 105: 1,\n 106: 1,\n 108: 2,\n 111: 1,\n 112: 1,\n 113: 1,\n 114: 1,\n 117: 2,\n 118: 1,\n 119: 4,\n 121: 1,\n 126: 1,\n 127: 1,\n 128: 1,\n 129: 1,\n 130: 1,\n 131: 1,\n 133: 1,\n 134: 1,\n 135: 1,\n 136: 2,\n 137: 2,\n 138: 2,\n 140: 1,\n 141: 1,\n 142: 3,\n 143: 4,\n 144: 4,\n 161: 1,\n 162: 1,\n 163: 1,\n 164: 1,\n 165: 2,\n 172: 1,\n 175: 2,\n 176: 2,\n 177: 3,\n 178: 2,\n 179: 1,\n 184: 1,\n 186: 1,\n 189: 3,\n 190: 1,\n 195: 3,\n 196: 3,\n 197: 1,\n 198: 1,\n 199: 3,\n 201: 1,\n 207: 4,\n 210: 3,\n 211: 1,\n 212: 2,\n 213: 2,\n 214: 1,\n 215: 1,\n 225: 0,\n 229: 1,\n 230: 1,\n 231: 1,\n 232: 1,\n 233: 1,\n 234: 1,\n 235: 3,\n 244: 1,\n 247: 4,\n 252: 2,\n 257: 1,\n 261: 1,\n 271: 1,\n 273: 4,\n 274: 2,\n 275: 2,\n 276: 2,\n 277: 3,\n 278: 3,\n 279: 1,\n 280: 3,\n 281: 3,\n 282: 3,\n 283: 1,\n 284: 1,\n 285: 2,\n 286: 4,\n 287: 3,\n 288: 2,\n 289: 4,\n 290: 3,\n 291: 3,\n 292: 3,\n 293: 4,\n 294: 1,\n 295: 3,\n 296: 1,\n 297: 3,\n 298: 1,\n 299: 2,\n 300: 3,\n 301: 3,\n 302: 4,\n 303: 2,\n 304: 2,\n 305: 2,\n 306: 2,\n 307: 2,\n 308: 2,\n 309: 3,\n 310: 2,\n 311: 2,\n 312: 2,\n 313: 2,\n 314: 2,\n 315: 2,\n 316: 4,\n 325: 2,\n 326: 2,\n 327: 2,\n 328: 2,\n 331: 2,\n 332: 2,\n 337: 2,\n 342: 1,\n 343: 1,\n 346: 2,\n 347: 1,\n 350: 4,\n 351: 3,\n 352: 1,\n 353: 2,\n 360: 1,\n 368: 1,\n 369: 1,\n 370: 1,\n 371: 1,\n 372: 1,\n 373: 1,\n 374: 1,\n 375: 1,\n 376: 1,\n 377: 1,\n 378: 1,\n 382: 3,\n 385: 1,\n 392: 1,\n 393: 1,\n 396: 2,\n 397: 2,\n 398: 2,\n 399: 1,\n 400: 1,\n 401: 1,\n 402: 1,\n 403: 1,\n 404: 1,\n 405: 1,\n 406: 1,\n 407: 1,\n 408: 1,\n 409: 1,\n 410: 1,\n 414: 4,\n 415: 1,\n 416: 1,\n 417: 2,\n 420: 1,\n 421: 1,\n 422: 2,\n 424: 1,\n 425: 2,\n 426: 2,\n 427: 2,\n 428: 2,\n 430: 3,\n 438: 3,\n 439: 3,\n 440: 3,\n 443: 2,\n 444: 2,\n 445: 2,\n 446: 2,\n 447: 6,\n 448: 6,\n 449: 2,\n 450: 2,\n 464: 2,\n 468: 3,\n 476: 2,\n 479: 1,\n 480: 2,\n 65535: 0\n};\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f/*:string*/)/*:string*/ {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f/*:string*/)/*:string*/ {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r/*:string*/)/*:string*/ {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst/*:SST*/, str/*:string*/, rev)/*:number*/ {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}/*:any*/); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C/*:number*/, col) {\n\tvar p = ({min:C+1,max:C+1}/*:any*/);\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\tif(col.level != null) { p.outlineLevel = p.level = col.level; }\n\treturn p;\n}\n\nfunction default_margins(margins/*:Margins*/, mode/*:?string*/) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF_load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z' && !opts.cellStyles) return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif((!opts || opts.cellText !== false) && p.t !== 'z') try {\n\t\tif(table_fmt[fmtid] == null) SSF_load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = dd.toString(10);\n\t\t\t\telse p.w = SSF_general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF_general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF_format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws/*:Worksheet*/, sname/*:string*/, i/*:number*/) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws/*:Worksheet*/, s/*:string*/) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar sheetprregex2= /<(?:\\w:)?sheetPr[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetPr)>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tvar refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/);\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch/*:?any*/ = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\telse if((sheetPr = data1.match(sheetprregex2))) parse_ws_xml_sheetpr2(sheetPr[0], sheetPr[1]||\"\", s, wb, idx, styles, themes);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns/*:Array*/ = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges/*:Array*/ = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges/*:Array*/)/*:string*/ {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName));\n}\nfunction parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tparse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(\">\")), s, wb, idx);\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = utf8write(escapexml(cname));\n\t}\n\n\tif(ws && ws[\"!outline\"]) {\n\t\tvar outlineprops = {summaryBelow:1, summaryRight:1};\n\t\tif(ws[\"!outline\"].above) outlineprops.summaryBelow = 0;\n\t\tif(ws[\"!outline\"].left) outlineprops.summaryRight = 0;\n\t\tpayload = (payload||\"\") + writextag('outlinePr', null, outlineprops);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp)/*:string*/ {\n\t// algorithmName, hashValue, saltValue, spinCount\n\tvar o = ({sheet:1}/*:any*/);\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data/*:Array*/, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+unescapexml(val.location);\n\t\t} else {\n\t\t\tval.Target = \"#\" + unescapexml(val.location);\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin)/*:string*/ {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tif(coll.outlineLevel) coll.level = (+coll.outlineLevel || 0);\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols)/*:string*/ {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data/*:string*/) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx)/*:string*/ {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb/*:WBWBProps*/) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r/*:string*/, i/*:number*/) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(+tag.zoomScale) wb.Views[i].zoom = +tag.zoomScale;\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ {\n\tvar sview = ({workbookViewId:\"0\"}/*:any*/);\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ {\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\tif(cell.v === undefined && typeof cell.f !== \"string\" || cell.t === 'z' && !cell.f) return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = table_fmt[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/);\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(cell.v.length > 32767) throw new Error(\"Text length must not exceed 32767 characters\");\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.D) o.cm = 1;\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = /*#__PURE__*/(function() {\n\tvar cellregex = /<(?:\\w+:)?c[ \\/>]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) {\n\tvar ri = 0, x = \"\", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d=\"\", p/*:any*/;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows/*:Array*/ = [], rowobj = {}, rowrite = false;\n\tvar sheetStubs = !!opts.sheetStubs;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tvar rstarti = 0;\n\t\touta: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) {\n\t\t\tcase \">\" /*62*/:\n\t\t\t\tif(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != \"/\") { ++ri; break outa; }\n\t\t\t\tif(opts && opts.cellStyles) {\n\t\t\t\t\t// TODO: avoid duplication\n\t\t\t\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\t\t\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\t\t\t\trowobj = {}; rowrite = false;\n\t\t\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"<\" /*60*/: rstarti = ri; break;\n\t\t}\n\t\tif(rstarti >= ri) break;\n\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"}/*:any*/);\n\n\t\t\tif((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=unescapexml(utf8read(cref[1])).replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\tif(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(tag.cm && opts.xlmeta) {\n\t\t\t\tvar cm = (opts.xlmeta.Cell||[])[+tag.cm-1];\n\t\t\t\tif(cm && cm.type == 'XLDAPR') p.D = true;\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*//*::, rels*/)/*:string*/ {\n\tvar o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr}/*:any*/);\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1}/*:any*/);\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nfunction write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('worksheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(/*::(*/ws['!links']/*::||[])*/.length > 0) {\n\t\to[o.length] = \"\";\n\t\t/*::(*/ws['!links']/*::||[])*/.forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]}/*:any*/);\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({}/*:any*/);\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R/*:number*/, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo(/*::data, length*/) {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\tvar f = data[data.l]; ++data.l;\n\tz.above = !(f & 0x40);\n\tz.left = !(f & 0x80);\n\t/* TODO: pull flags */\n\tdata.l += 18;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, outl, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tvar f = 0xC0;\n\tif(outl) {\n\t\tif(outl.above) f &= ~0x40;\n\t\tif(outl.left) f &= ~0x80;\n\t}\n\to.write_shift(1, f);\n\tfor(var i = 1; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\nfunction parse_BrtShortBlank(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\treturn [cell];\n}\nfunction write_BrtShortBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(4);\n\treturn write_XLSBShortCell(ncell, o);\n}\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\nfunction parse_BrtShortBool(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtShortBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(5);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtCellError(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v);\n\treturn o;\n}\nfunction parse_BrtShortError(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtShortError(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v);\n\to.write_shift(2, 0);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\nfunction parse_BrtShortIsst(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtShortIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortReal(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortRk(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtCellRString */\nfunction parse_BrtCellRString(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RichStr(data);\n\treturn [cell, value, 'is'];\n}\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction parse_BrtShortSt(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtShortSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(8 + 4 * cell.v.length);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length/*::, opts*/) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display}/*:any*/);\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C/*:number*/, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ {\n\tvar margins = ({}/*:any*/);\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins/*:Margins*/, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins/*:any*/)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data/*::, length, opts*/) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\n\t\t/*:: if(o == null) throw \"unreachable\"; */\n\t\tif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s/*:Worksheet*/ = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state/*:Array*/ = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell/*:Cell*/;\n\tvar merges/*:Array*/ = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || /*::(*/wb/*:: :any)*/.supbooks || ([[]]/*:any*/);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtShortReal\", f:parse_BrtShortReal };\n\n\tvar cm, vm;\n\n\trecordhopper(data, function ws_parse(val, RR, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\tcase 0x000D: /* 'BrtShortRk' */\n\t\t\tcase 0x000E: /* 'BrtShortError' */\n\t\t\tcase 0x000F: /* 'BrtShortBool' */\n\t\t\tcase 0x0010: /* 'BrtShortReal' */\n\t\t\tcase 0x0011: /* 'BrtShortSt' */\n\t\t\tcase 0x0012: /* 'BrtShortIsst' */\n\t\t\tcase 0x003E: /* 'BrtCellRString' */\n\t\t\t\tp = ({t:val[2]}/*:any*/);\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t\tcase 'is': p.t = 's'; p.v = val[1].t; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\tcase 0x000C: /* 'BrtShortBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:void 0}/*:any*/);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x0031: { /* 'BrtCellMeta' */\n\t\t\t\tcm = ((opts.xlmeta||{}).Cell||[])[val-1];\n\t\t\t} break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr])/*:any*/);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tif(val.above || val.left) s['!outline'] = { above: val.above, left: val.left };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(RR.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ {\n\tif(cell.v === undefined) return false;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || table_fmt[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o/*:any*/ = ({r:R, c:C}/*:any*/);\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v/*:any*/), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\tif(last_seen) write_record(ba, 0x0012 /* BrtShortIsst */, write_BrtShortIsst(cell, o));\n\t\t\t\telse write_record(ba, 0x0007 /* BrtCellIsst */, write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\tif(last_seen) write_record(ba, 0x0011 /* BrtShortSt */, write_BrtShortSt(cell, o));\n\t\t\t\telse write_record(ba, 0x0006 /* BrtCellSt */, write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn true;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) {\n\t\t\t\tif(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o));\n\t\t\t\telse write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o));\n\t\t\t} else {\n\t\t\t\tif(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o));\n\t\t\t\telse write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o));\n\t\t\t} return true;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\tif(last_seen) write_record(ba, 0x000F /* BrtShortBool */, write_BrtShortBool(cell, o));\n\t\t\telse write_record(ba, 0x0004 /* BrtCellBool */, write_BrtCellBool(cell, o));\n\t\t\treturn true;\n\t\tcase 'e':\n\t\t\to.t = \"e\";\n\t\t\tif(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError(cell, o));\n\t\t\telse write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError(cell, o));\n\t\t\treturn true;\n\t}\n\tif(last_seen) write_record(ba, 0x000C /* BrtShortBlank */, write_BrtShortBlank(cell, o));\n\telse write_record(ba, 0x0001 /* BrtCellBlank */, write_BrtCellBlank(cell, o));\n\treturn true;\n}\n\nfunction write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols/*:Array*/ = [];\n\twrite_record(ba, 0x0091 /* BrtBeginSheetData */);\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tvar last_seen = false;\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) { last_seen = false; continue; }\n\t\t\t/* write cell */\n\t\t\tlast_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen);\n\t\t}\n\t}\n\twrite_record(ba, 0x0092 /* BrtEndSheetData */);\n}\n\nfunction write_MERGECELLS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 0x00B0 /* BrtMergeCell */, write_BrtMergeCell(m)); });\n\twrite_record(ba, 0x00B2 /* BrtEndMergeCells */);\n}\n\nfunction write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook*/) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 0x0186 /* BrtBeginColInfos */);\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 0x003C /* 'BrtColInfo' */, write_BrtColInfo(i, m)); });\n\twrite_record(ba, 0x0187 /* BrtEndColInfos */);\n}\n\nfunction write_IGNOREECS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 0x0288 /* BrtBeginCellIgnoreECs */);\n\twrite_record(ba, 0x0289 /* BrtCellIgnoreEC */, write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 0x028A /* BrtEndCellIgnoreECs */);\n}\n\nfunction write_HLINKS(ba, ws/*:Worksheet*/, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, 0x01EE /* BrtHLink */, write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, 0x0227 /* BrtLegacyDrawing */, write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, 0x00A1 /* BrtBeginAFilter */, write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, 0x00A2 /* BrtEndAFilter */);\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, 0x0085 /* BrtBeginWsViews */);\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, 0x0089 /* BrtBeginWsView */, write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, 0x008A /* BrtEndWsView */);\n\t}\n\t/* *FRT */\n\twrite_record(ba, 0x0086 /* BrtEndWsViews */);\n}\n\nfunction write_WSFMTINFO(/*::ba, ws*/) {\n\t/* [ACWSFMTINFO] */\n\t// write_record(ba, 0x01E5 /* BrtWsFmtInfo */, write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, 0x0217 /* BrtSheetProtection */, write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c/*:string*/ = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\tif(wb.vbaraw || ws['!outline']) write_record(ba, 0x0093 /* BrtWsProp */, write_BrtWsProp(c, ws['!outline']));\n\twrite_record(ba, 0x0094 /* BrtWsDim */, write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, 0x01DC /* BrtMargins */, write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\nfunction parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ {\n\tvar col/*:Array*/ = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) {\n\tvar cs/*:Worksheet*/ = ((csheet || {\"!type\":\"chart\"})/*:any*/);\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"}/*:any*/);\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('chartsheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length/*:number*/) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin(/*::idx:number, opts, wb:Workbook, rels*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb/*:Workbook*/)/*:string*/ {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = /*#__PURE__*/\"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts)/*:WorkbookFile*/ {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = /*::(*/{ AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" }/*::)*/;\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr/*:any*/ = ({codeName:\"ThisWorkbook\"}/*:any*/);\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\n\t\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]/*:any*/);\n\t\t});\n\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\tif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '';\n\t\to[o.length] = \"\";\n\t}\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))}/*:any*/);\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d/*:any*/ = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length/*:number*/) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length)/*:WBProps*/ {\n\tvar o/*:WBProps*/ = ({}/*:any*/);\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data/*:?WBProps*/, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula}/*:any*/);\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts)/*:WorkbookFile*/ {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]/*:any*/);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ };\n\n\trecordhopper(data, function hopper_wb(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x008F: /* 'BrtBeginBundleShs' */\n\t\t\tcase 0x0298: /* 'BrtBeginFnGroup' */\n\t\t\tcase 0x0161: /* 'BrtBeginExternals' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.length-1] != 0x0023 /* BrtFRTBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb/*:any*/).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb/*::, opts*/) {\n\twrite_record(ba, 0x008F /* BrtBeginBundleShs */);\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, 0x009C /* BrtBundleSh */, write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, 0x0090 /* BrtEndBundleShs */);\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb/*::, opts*/) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, 0x0087 /* BrtBeginBookViews */);\n\twrite_record(ba, 0x009E /* BrtBookView */, write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, 0x0088 /* BrtEndBookViews */);\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0083 /* BrtBeginBook */);\n\twrite_record(ba, 0x0080 /* BrtFileVersion */, write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, 0x0099 /* BrtWbProp */, write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, 0x009D BrtCalcProp, write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, 0x009B BrtFileRecover, write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, 0x0084 /* BrtEndBook */);\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name/*:string*/, opts)/*:WorkbookFile*/ {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data/*:any*/), opts);\n\treturn parse_wb_xml((data/*:any*/), opts);\n}\n\nfunction parse_ws(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name/*:string*/, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data/*:any*/), themes, opts);\n\treturn parse_sty_xml((data/*:any*/), themes, opts);\n}\n\nfunction parse_theme(data/*:string*/, name/*:string*/, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name/*:string*/, opts)/*:SST*/ {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data/*:any*/), opts);\n\treturn parse_sst_xml((data/*:any*/), opts);\n}\n\nfunction parse_cmnt(data, name/*:string*/, opts)/*:Array*/ {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data/*:any*/), opts);\n\treturn parse_comments_xml((data/*:any*/), opts);\n}\n\nfunction parse_cc(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data/*:any*/), name, opts);\n\treturn parse_cc_xml((data/*:any*/), name, opts);\n}\n\nfunction parse_xlink(data, rel, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data/*:any*/), rel, name, opts);\n\treturn parse_xlink_xml((data/*:any*/), rel, name, opts);\n}\n\nfunction parse_xlmeta(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlmeta_bin((data/*:any*/), name, opts);\n\treturn parse_xlmeta_xml((data/*:any*/), name, opts);\n}\n\nfunction write_wb(wb, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data/*:SST*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data/*:Array*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\n\nfunction write_xlmeta(name/*:string*/) {\n\treturn (name.slice(-4)===\".bin\" ? write_xlmeta_bin : write_xlmeta_xml)();\n}\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag/*:string*/, skip_root/*:?boolean*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z/*:any*/ = ([]/*:any*/); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag/*:string*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*: {[string]:string}*/;\n\nfunction xlml_format(format, value)/*:string*/ {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF_general(value);\n\treturn SSF_format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val/*:string*/) {\n\tvar oval/*:any*/ = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell/*:Cell*/, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = cell.v.toString(10);\n\t\t\t\telse cell.w = SSF_general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF_general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && fmt_is_date(z)) {\n\t\t\tvar _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment/*:any*/) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\n/* TODO: Everything */\nfunction parse_xlml_xml(d, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tmake_ssf();\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof $cptable !== 'undefined') str = $cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\topening = opening.replace(/\".*?\"/g, \"\");\n\tif((opening.indexOf(\">\") & 1023) > Math.min((opening.indexOf(\",\") & 1023), (opening.indexOf(\";\")&1023))) { var _o = dup(opts); _o.type = \"string\"; return PRN.to_workbook(str, _o); }\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return html_to_workbook(str, opts);\n\n\tXLMLFormatMap = ({\n\t\t\"General Number\": \"General\",\n\t\t\"General Date\": table_fmt[22],\n\t\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\t\"Medium Date\": table_fmt[15],\n\t\t\"Short Date\": table_fmt[14],\n\t\t\"Long Time\": table_fmt[19],\n\t\t\"Medium Time\": table_fmt[18],\n\t\t\"Short Time\": table_fmt[20],\n\t\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\t\"Fixed\": table_fmt[2],\n\t\t\"Standard\": table_fmt[4],\n\t\t\"Percent\": table_fmt[10],\n\t\t\"Scientific\": table_fmt[11],\n\t\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n\t}/*:any*/);\n\n\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges/*:Array*/ = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar rowinfo/*:Array*/ = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false} }/*:any*/), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:unescapexml(cell.HRef)}/*:any*/);\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\t/*:: if(!cc) cc = 0; if(!rr) rr = 0; */\n\t\t\t\t\tfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == null) { SSF_load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName/*:DefinedName*/ = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t}/*:any*/);\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\n\t\t\t/*:: if(Workbook.Names) */Workbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author}/*:any*/);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tcase 'null' /*case 'Null'*/: break;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\n\t\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\t\tWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].header = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].footer = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Top)) cursheet['!margins'].top = +pagemargins.Top;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Left)) cursheet['!margins'].left = +pagemargins.Left;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Right)) cursheet['!margins'].right = +pagemargins.Right;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Bottom)) cursheet['!margins'].bottom = +pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'printerrors' /*case 'PrintErrors'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].above = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].left = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = dup(table_fmt);\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data/*:RawBytes|string*/, opts)/*:Workbook*/ {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64_decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n\t/*:: throw new Error(\"unsupported type \" + opts.type); */\n}\n\n/* TODO */\nfunction write_props_xlml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml(/*::wb, opts*/)/*:string*/ {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts)/*:string*/ {\n\t/* Styles */\n\tvar styles/*:Array*/ = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload/*:Array*/ = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(table_fmt[xf.numFmtId])}));\n\n\t\tvar o = /*::(*/{\"ss:ID\": \"s\" + (21+id)}/*:: :any)*/;\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb/*::, opts*/)/*:string*/ {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tvar o/*:Array*/ = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments/*:Array*/)/*:string*/ {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R/*:number*/, row)/*:string*/ {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws['!ref']) return \"\";\n\tvar range/*:Range*/ = safe_decode_range(ws['!ref']);\n\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\tvar o/*:Array*/ = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"
\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts)/*:string*/ {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d/*:Array*/ = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj/*:CFBEntry*/) {\n\tvar v = {};\n\tvar o = obj.content;\n\t/*:: if(o == null) return; */\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m/*:number*/ = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue 0x003c\n\t- 2.4.59 ContinueBigName 0x043c\n\t- 2.4.60 ContinueFrt 0x0812\n\t- 2.4.61 ContinueFrt11 0x0875\n\t- 2.4.62 ContinueFrt12 0x087f\n*/\nvar CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ];\nfunction slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {\n\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */:\n\t\tbreak;\n\tcase 0x0085 /* BoundSheet8 */:\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt];\n\tvar start = 0;\n\twhile(next != null && CONTINUE_RT.indexOf(nextrt) > -1) {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(nextrt == 0x0812 /* ContinueFrt */) start += 4;\n\t\telse if(nextrt == 0x0875 || nextrt == 0x087f) {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs)/*:any*/);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record 0x\" + RecordType.toString(16) + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF_general(p.v);\n\t\t}\n\t\telse p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t)/*:Cell*/ {\n\treturn ({v:val, ixfe:ixfe, t:t}/*:any*/);\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {\n\tvar wb = ({opts:{}}/*:any*/);\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out/*:Worksheet*/ = ((options.dense ? [] : {})/*:any*/);\n\tvar Directory = {};\n\tvar range/*:Range*/ = ({}/*:any*/);\n\tvar last_formula = null;\n\tvar sst/*:SST*/ = ([]/*:any*/);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc/*:Cell*/, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar temp_val/*:Cell*/;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette/*:Array<[number, number, number]>*/ = [];\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {};\n\tvar get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line/*:any*/, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({}/*:any*/);\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t}/*:any*/);\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges/*:Array*/ = [];\n\tvar objects = [];\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\tvar supbooks = ([]/*:any*/); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_RT = 0;\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl/*:?DefinedName*/;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_RT === 0x000a /* EOF */) break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;\n\t\t\t}\n\t\t\tlast_RT = RecordType;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val/*:any*/ = ({}/*:any*/);\n\t\t\tif(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;\n\t\t\telse val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;\n\t\t\t/*:: val = (val:any); */\n\t\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue;\n\t\t\tswitch(RecordType) {\n\t\t\t\tcase 0x0022 /* Date1904 */:\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\twb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 0x002f /* FilePass */:\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x005c /* WriteAccess */: opts.lastuser = val; break;\n\t\t\t\tcase 0x0042 /* CodePage */:\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x013d /* RRTabId */: opts.rrtabid = val; break;\n\t\t\t\tcase 0x0019 /* WinProtect */: opts.winlocked = val; break;\n\t\t\t\tcase 0x01b7 /* RefreshAll */: wb.opts[\"RefreshAll\"] = val; break;\n\t\t\t\tcase 0x000c /* CalcCount */: wb.opts[\"CalcCount\"] = val; break;\n\t\t\t\tcase 0x0010 /* CalcDelta */: wb.opts[\"CalcDelta\"] = val; break;\n\t\t\t\tcase 0x0011 /* CalcIter */: wb.opts[\"CalcIter\"] = val; break;\n\t\t\t\tcase 0x000d /* CalcMode */: wb.opts[\"CalcMode\"] = val; break;\n\t\t\t\tcase 0x000e /* CalcPrecision */: wb.opts[\"CalcPrecision\"] = val; break;\n\t\t\t\tcase 0x005f /* CalcSaveRecalc */: wb.opts[\"CalcSaveRecalc\"] = val; break;\n\t\t\t\tcase 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;\n\t\t\t\tcase 0x0081 /* WsBool */:\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 0x00e0 /* XF */:\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 0x01ae /* SupBook */:\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0023: case 0x0223 /* ExternName */:\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0018: case 0x0218 /* Lbl */:\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t}/*:DefinedName*/);\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0016 /* ExternCount */: opts.ExternCount = val; break;\n\t\t\t\tcase 0x0017 /* ExternSheet */:\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 0x0894 /* NameCmt */:\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0012 /* Protect */: out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 0x0085 /* BoundSheet8 */: {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 0x000a /* EOF */: {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n\t\t\t\t\t\t/*::[*/0x0009/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0209/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0409/*::]*/:4\n\t\t\t\t\t}[RecordType] || {\n\t\t\t\t\t\t/*::[*/0x0200/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0300/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0400/*::]*/:4,\n\t\t\t\t\t\t/*::[*/0x0500/*::]*/:5,\n\t\t\t\t\t\t/*::[*/0x0600/*::]*/:8,\n\t\t\t\t\t\t/*::[*/0x0002/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0007/*::]*/:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\n\t\t\t\t\tif(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\t\t\t\tcase 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0005: case 0x0205 /* BoolErr */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x027e /* RK */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00bd /* MulRk */: {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0006: case 0x0206: case 0x0406 /* Formula */: {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x0007: case 0x0207 /* String */: {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 0x0021: case 0x0221 /* Array */: {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x04bc /* ShrFmla */: {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fd /* LabelSst */:\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0201 /* Blank */: if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00be /* MulBlank */: if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00d6 /* RString */:\n\t\t\t\tcase 0x0204 /* Label */: case 0x0004 /* BIFF2STR */:\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 0x0000: case 0x0200 /* Dimensions */: {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fc /* SST */: {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x041e /* Format */: { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF_load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF_load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 0x001e /* BIFF2FORMAT */: {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF_load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x00e5 /* MergeCells */: merges = merges.concat(val); break;\n\n\t\t\t\tcase 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;\n\t\t\t\tcase 0x007f /* ImData */: opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 0x01b8 /* HLink */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0800 /* HLinkTooltip */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x001c /* Note */: {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\t\t\t\tcase 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;\n\t\t\t\tcase 0x007d /* ColInfo */: {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0208 /* Row */: {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0026 /* LeftMargin */:\n\t\t\t\tcase 0x0027 /* RightMargin */:\n\t\t\t\tcase 0x0028 /* TopMargin */:\n\t\t\t\tcase 0x0029 /* BottomMargin */:\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][({0x26: \"left\", 0x27:\"right\", 0x28:\"top\", 0x29:\"bottom\"})[RecordType]] = val;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x00a1 /* Setup */: // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x023e /* Window2 */: // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0092 /* Palette */: palette = val; break;\n\t\t\t\tcase 0x0896 /* Theme */: themes = val; break;\n\t\t\t\tcase 0x008c /* Country */: country = val; break;\n\t\t\t\tcase 0x01ba /* CodeName */: {\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\tif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t}\n\t\t} else {\n\t\t\tif(!R) console.error(\"Missing Info for XLS Record 0x\" + RecordType.toString(16));\n\t\t\tblob.l += length;\n\t\t}\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = dup(table_fmt);\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb/*:CFBContainer*/, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '/!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '/!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tvar DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, \"n\");\n\tvar SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, \"n\");\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj/*:?CFBEntry*/, WB/*:?any*/;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64_decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb}/*:any*/);\n}\nvar /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */;\n\nvar _data/*:?any*/;\nif(CompObj) /*::CompObjP = */parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/);\nelse/*:: if(cfb instanceof CFBContainer) */ {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t/*::[*/0x0000/*::]*/: { /* n:\"BrtRowHdr\", */ f:parse_BrtRowHdr },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BrtCellBlank\", */ f:parse_BrtCellBlank },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BrtCellRk\", */ f:parse_BrtCellRk },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BrtCellError\", */ f:parse_BrtCellError },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BrtCellBool\", */ f:parse_BrtCellBool },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BrtCellReal\", */ f:parse_BrtCellReal },\n\t/*::[*/0x0006/*::]*/: { /* n:\"BrtCellSt\", */ f:parse_BrtCellSt },\n\t/*::[*/0x0007/*::]*/: { /* n:\"BrtCellIsst\", */ f:parse_BrtCellIsst },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BrtFmlaString\", */ f:parse_BrtFmlaString },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BrtFmlaNum\", */ f:parse_BrtFmlaNum },\n\t/*::[*/0x000A/*::]*/: { /* n:\"BrtFmlaBool\", */ f:parse_BrtFmlaBool },\n\t/*::[*/0x000B/*::]*/: { /* n:\"BrtFmlaError\", */ f:parse_BrtFmlaError },\n\t/*::[*/0x000C/*::]*/: { /* n:\"BrtShortBlank\", */ f:parse_BrtShortBlank },\n\t/*::[*/0x000D/*::]*/: { /* n:\"BrtShortRk\", */ f:parse_BrtShortRk },\n\t/*::[*/0x000E/*::]*/: { /* n:\"BrtShortError\", */ f:parse_BrtShortError },\n\t/*::[*/0x000F/*::]*/: { /* n:\"BrtShortBool\", */ f:parse_BrtShortBool },\n\t/*::[*/0x0010/*::]*/: { /* n:\"BrtShortReal\", */ f:parse_BrtShortReal },\n\t/*::[*/0x0011/*::]*/: { /* n:\"BrtShortSt\", */ f:parse_BrtShortSt },\n\t/*::[*/0x0012/*::]*/: { /* n:\"BrtShortIsst\", */ f:parse_BrtShortIsst },\n\t/*::[*/0x0013/*::]*/: { /* n:\"BrtSSTItem\", */ f:parse_RichStr },\n\t/*::[*/0x0014/*::]*/: { /* n:\"BrtPCDIMissing\" */ },\n\t/*::[*/0x0015/*::]*/: { /* n:\"BrtPCDINumber\" */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"BrtPCDIBoolean\" */ },\n\t/*::[*/0x0017/*::]*/: { /* n:\"BrtPCDIError\" */ },\n\t/*::[*/0x0018/*::]*/: { /* n:\"BrtPCDIString\" */ },\n\t/*::[*/0x0019/*::]*/: { /* n:\"BrtPCDIDatetime\" */ },\n\t/*::[*/0x001A/*::]*/: { /* n:\"BrtPCDIIndex\" */ },\n\t/*::[*/0x001B/*::]*/: { /* n:\"BrtPCDIAMissing\" */ },\n\t/*::[*/0x001C/*::]*/: { /* n:\"BrtPCDIANumber\" */ },\n\t/*::[*/0x001D/*::]*/: { /* n:\"BrtPCDIABoolean\" */ },\n\t/*::[*/0x001E/*::]*/: { /* n:\"BrtPCDIAError\" */ },\n\t/*::[*/0x001F/*::]*/: { /* n:\"BrtPCDIAString\" */ },\n\t/*::[*/0x0020/*::]*/: { /* n:\"BrtPCDIADatetime\" */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"BrtPCRRecord\" */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"BrtPCRRecordDt\" */ },\n\t/*::[*/0x0023/*::]*/: { /* n:\"BrtFRTBegin\", */ T:1 },\n\t/*::[*/0x0024/*::]*/: { /* n:\"BrtFRTEnd\", */ T:-1 },\n\t/*::[*/0x0025/*::]*/: { /* n:\"BrtACBegin\", */ T:1 },\n\t/*::[*/0x0026/*::]*/: { /* n:\"BrtACEnd\", */ T:-1 },\n\t/*::[*/0x0027/*::]*/: { /* n:\"BrtName\", */ f:parse_BrtName },\n\t/*::[*/0x0028/*::]*/: { /* n:\"BrtIndexRowBlock\" */ },\n\t/*::[*/0x002A/*::]*/: { /* n:\"BrtIndexBlock\" */ },\n\t/*::[*/0x002B/*::]*/: { /* n:\"BrtFont\", */ f:parse_BrtFont },\n\t/*::[*/0x002C/*::]*/: { /* n:\"BrtFmt\", */ f:parse_BrtFmt },\n\t/*::[*/0x002D/*::]*/: { /* n:\"BrtFill\", */ f:parse_BrtFill },\n\t/*::[*/0x002E/*::]*/: { /* n:\"BrtBorder\", */ f:parse_BrtBorder },\n\t/*::[*/0x002F/*::]*/: { /* n:\"BrtXF\", */ f:parse_BrtXF },\n\t/*::[*/0x0030/*::]*/: { /* n:\"BrtStyle\" */ },\n\t/*::[*/0x0031/*::]*/: { /* n:\"BrtCellMeta\", */ f:parse_Int32LE },\n\t/*::[*/0x0032/*::]*/: { /* n:\"BrtValueMeta\" */ },\n\t/*::[*/0x0033/*::]*/: { /* n:\"BrtMdb\" */ f:parse_BrtMdb },\n\t/*::[*/0x0034/*::]*/: { /* n:\"BrtBeginFmd\", */ T:1 },\n\t/*::[*/0x0035/*::]*/: { /* n:\"BrtEndFmd\", */ T:-1 },\n\t/*::[*/0x0036/*::]*/: { /* n:\"BrtBeginMdx\", */ T:1 },\n\t/*::[*/0x0037/*::]*/: { /* n:\"BrtEndMdx\", */ T:-1 },\n\t/*::[*/0x0038/*::]*/: { /* n:\"BrtBeginMdxTuple\", */ T:1 },\n\t/*::[*/0x0039/*::]*/: { /* n:\"BrtEndMdxTuple\", */ T:-1 },\n\t/*::[*/0x003A/*::]*/: { /* n:\"BrtMdxMbrIstr\" */ },\n\t/*::[*/0x003B/*::]*/: { /* n:\"BrtStr\" */ },\n\t/*::[*/0x003C/*::]*/: { /* n:\"BrtColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x003E/*::]*/: { /* n:\"BrtCellRString\", */ f:parse_BrtCellRString },\n\t/*::[*/0x003F/*::]*/: { /* n:\"BrtCalcChainItem$\", */ f:parse_BrtCalcChainItem$ },\n\t/*::[*/0x0040/*::]*/: { /* n:\"BrtDVal\", */ f:parse_BrtDVal },\n\t/*::[*/0x0041/*::]*/: { /* n:\"BrtSxvcellNum\" */ },\n\t/*::[*/0x0042/*::]*/: { /* n:\"BrtSxvcellStr\" */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BrtSxvcellBool\" */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BrtSxvcellErr\" */ },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BrtSxvcellDate\" */ },\n\t/*::[*/0x0046/*::]*/: { /* n:\"BrtSxvcellNil\" */ },\n\t/*::[*/0x0080/*::]*/: { /* n:\"BrtFileVersion\" */ },\n\t/*::[*/0x0081/*::]*/: { /* n:\"BrtBeginSheet\", */ T:1 },\n\t/*::[*/0x0082/*::]*/: { /* n:\"BrtEndSheet\", */ T:-1 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"BrtBeginBook\", */ T:1, f:parsenoop, p:0 },\n\t/*::[*/0x0084/*::]*/: { /* n:\"BrtEndBook\", */ T:-1 },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BrtBeginWsViews\", */ T:1 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"BrtEndWsViews\", */ T:-1 },\n\t/*::[*/0x0087/*::]*/: { /* n:\"BrtBeginBookViews\", */ T:1 },\n\t/*::[*/0x0088/*::]*/: { /* n:\"BrtEndBookViews\", */ T:-1 },\n\t/*::[*/0x0089/*::]*/: { /* n:\"BrtBeginWsView\", */ T:1, f:parse_BrtBeginWsView },\n\t/*::[*/0x008A/*::]*/: { /* n:\"BrtEndWsView\", */ T:-1 },\n\t/*::[*/0x008B/*::]*/: { /* n:\"BrtBeginCsViews\", */ T:1 },\n\t/*::[*/0x008C/*::]*/: { /* n:\"BrtEndCsViews\", */ T:-1 },\n\t/*::[*/0x008D/*::]*/: { /* n:\"BrtBeginCsView\", */ T:1 },\n\t/*::[*/0x008E/*::]*/: { /* n:\"BrtEndCsView\", */ T:-1 },\n\t/*::[*/0x008F/*::]*/: { /* n:\"BrtBeginBundleShs\", */ T:1 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"BrtEndBundleShs\", */ T:-1 },\n\t/*::[*/0x0091/*::]*/: { /* n:\"BrtBeginSheetData\", */ T:1 },\n\t/*::[*/0x0092/*::]*/: { /* n:\"BrtEndSheetData\", */ T:-1 },\n\t/*::[*/0x0093/*::]*/: { /* n:\"BrtWsProp\", */ f:parse_BrtWsProp },\n\t/*::[*/0x0094/*::]*/: { /* n:\"BrtWsDim\", */ f:parse_BrtWsDim, p:16 },\n\t/*::[*/0x0097/*::]*/: { /* n:\"BrtPane\", */ f:parse_BrtPane },\n\t/*::[*/0x0098/*::]*/: { /* n:\"BrtSel\" */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"BrtWbProp\", */ f:parse_BrtWbProp },\n\t/*::[*/0x009A/*::]*/: { /* n:\"BrtWbFactoid\" */ },\n\t/*::[*/0x009B/*::]*/: { /* n:\"BrtFileRecover\" */ },\n\t/*::[*/0x009C/*::]*/: { /* n:\"BrtBundleSh\", */ f:parse_BrtBundleSh },\n\t/*::[*/0x009D/*::]*/: { /* n:\"BrtCalcProp\" */ },\n\t/*::[*/0x009E/*::]*/: { /* n:\"BrtBookView\" */ },\n\t/*::[*/0x009F/*::]*/: { /* n:\"BrtBeginSst\", */ T:1, f:parse_BrtBeginSst },\n\t/*::[*/0x00A0/*::]*/: { /* n:\"BrtEndSst\", */ T:-1 },\n\t/*::[*/0x00A1/*::]*/: { /* n:\"BrtBeginAFilter\", */ T:1, f:parse_UncheckedRfX },\n\t/*::[*/0x00A2/*::]*/: { /* n:\"BrtEndAFilter\", */ T:-1 },\n\t/*::[*/0x00A3/*::]*/: { /* n:\"BrtBeginFilterColumn\", */ T:1 },\n\t/*::[*/0x00A4/*::]*/: { /* n:\"BrtEndFilterColumn\", */ T:-1 },\n\t/*::[*/0x00A5/*::]*/: { /* n:\"BrtBeginFilters\", */ T:1 },\n\t/*::[*/0x00A6/*::]*/: { /* n:\"BrtEndFilters\", */ T:-1 },\n\t/*::[*/0x00A7/*::]*/: { /* n:\"BrtFilter\" */ },\n\t/*::[*/0x00A8/*::]*/: { /* n:\"BrtColorFilter\" */ },\n\t/*::[*/0x00A9/*::]*/: { /* n:\"BrtIconFilter\" */ },\n\t/*::[*/0x00AA/*::]*/: { /* n:\"BrtTop10Filter\" */ },\n\t/*::[*/0x00AB/*::]*/: { /* n:\"BrtDynamicFilter\" */ },\n\t/*::[*/0x00AC/*::]*/: { /* n:\"BrtBeginCustomFilters\", */ T:1 },\n\t/*::[*/0x00AD/*::]*/: { /* n:\"BrtEndCustomFilters\", */ T:-1 },\n\t/*::[*/0x00AE/*::]*/: { /* n:\"BrtCustomFilter\" */ },\n\t/*::[*/0x00AF/*::]*/: { /* n:\"BrtAFilterDateGroupItem\" */ },\n\t/*::[*/0x00B0/*::]*/: { /* n:\"BrtMergeCell\", */ f:parse_BrtMergeCell },\n\t/*::[*/0x00B1/*::]*/: { /* n:\"BrtBeginMergeCells\", */ T:1 },\n\t/*::[*/0x00B2/*::]*/: { /* n:\"BrtEndMergeCells\", */ T:-1 },\n\t/*::[*/0x00B3/*::]*/: { /* n:\"BrtBeginPivotCacheDef\", */ T:1 },\n\t/*::[*/0x00B4/*::]*/: { /* n:\"BrtEndPivotCacheDef\", */ T:-1 },\n\t/*::[*/0x00B5/*::]*/: { /* n:\"BrtBeginPCDFields\", */ T:1 },\n\t/*::[*/0x00B6/*::]*/: { /* n:\"BrtEndPCDFields\", */ T:-1 },\n\t/*::[*/0x00B7/*::]*/: { /* n:\"BrtBeginPCDField\", */ T:1 },\n\t/*::[*/0x00B8/*::]*/: { /* n:\"BrtEndPCDField\", */ T:-1 },\n\t/*::[*/0x00B9/*::]*/: { /* n:\"BrtBeginPCDSource\", */ T:1 },\n\t/*::[*/0x00BA/*::]*/: { /* n:\"BrtEndPCDSource\", */ T:-1 },\n\t/*::[*/0x00BB/*::]*/: { /* n:\"BrtBeginPCDSRange\", */ T:1 },\n\t/*::[*/0x00BC/*::]*/: { /* n:\"BrtEndPCDSRange\", */ T:-1 },\n\t/*::[*/0x00BD/*::]*/: { /* n:\"BrtBeginPCDFAtbl\", */ T:1 },\n\t/*::[*/0x00BE/*::]*/: { /* n:\"BrtEndPCDFAtbl\", */ T:-1 },\n\t/*::[*/0x00BF/*::]*/: { /* n:\"BrtBeginPCDIRun\", */ T:1 },\n\t/*::[*/0x00C0/*::]*/: { /* n:\"BrtEndPCDIRun\", */ T:-1 },\n\t/*::[*/0x00C1/*::]*/: { /* n:\"BrtBeginPivotCacheRecords\", */ T:1 },\n\t/*::[*/0x00C2/*::]*/: { /* n:\"BrtEndPivotCacheRecords\", */ T:-1 },\n\t/*::[*/0x00C3/*::]*/: { /* n:\"BrtBeginPCDHierarchies\", */ T:1 },\n\t/*::[*/0x00C4/*::]*/: { /* n:\"BrtEndPCDHierarchies\", */ T:-1 },\n\t/*::[*/0x00C5/*::]*/: { /* n:\"BrtBeginPCDHierarchy\", */ T:1 },\n\t/*::[*/0x00C6/*::]*/: { /* n:\"BrtEndPCDHierarchy\", */ T:-1 },\n\t/*::[*/0x00C7/*::]*/: { /* n:\"BrtBeginPCDHFieldsUsage\", */ T:1 },\n\t/*::[*/0x00C8/*::]*/: { /* n:\"BrtEndPCDHFieldsUsage\", */ T:-1 },\n\t/*::[*/0x00C9/*::]*/: { /* n:\"BrtBeginExtConnection\", */ T:1 },\n\t/*::[*/0x00CA/*::]*/: { /* n:\"BrtEndExtConnection\", */ T:-1 },\n\t/*::[*/0x00CB/*::]*/: { /* n:\"BrtBeginECDbProps\", */ T:1 },\n\t/*::[*/0x00CC/*::]*/: { /* n:\"BrtEndECDbProps\", */ T:-1 },\n\t/*::[*/0x00CD/*::]*/: { /* n:\"BrtBeginECOlapProps\", */ T:1 },\n\t/*::[*/0x00CE/*::]*/: { /* n:\"BrtEndECOlapProps\", */ T:-1 },\n\t/*::[*/0x00CF/*::]*/: { /* n:\"BrtBeginPCDSConsol\", */ T:1 },\n\t/*::[*/0x00D0/*::]*/: { /* n:\"BrtEndPCDSConsol\", */ T:-1 },\n\t/*::[*/0x00D1/*::]*/: { /* n:\"BrtBeginPCDSCPages\", */ T:1 },\n\t/*::[*/0x00D2/*::]*/: { /* n:\"BrtEndPCDSCPages\", */ T:-1 },\n\t/*::[*/0x00D3/*::]*/: { /* n:\"BrtBeginPCDSCPage\", */ T:1 },\n\t/*::[*/0x00D4/*::]*/: { /* n:\"BrtEndPCDSCPage\", */ T:-1 },\n\t/*::[*/0x00D5/*::]*/: { /* n:\"BrtBeginPCDSCPItem\", */ T:1 },\n\t/*::[*/0x00D6/*::]*/: { /* n:\"BrtEndPCDSCPItem\", */ T:-1 },\n\t/*::[*/0x00D7/*::]*/: { /* n:\"BrtBeginPCDSCSets\", */ T:1 },\n\t/*::[*/0x00D8/*::]*/: { /* n:\"BrtEndPCDSCSets\", */ T:-1 },\n\t/*::[*/0x00D9/*::]*/: { /* n:\"BrtBeginPCDSCSet\", */ T:1 },\n\t/*::[*/0x00DA/*::]*/: { /* n:\"BrtEndPCDSCSet\", */ T:-1 },\n\t/*::[*/0x00DB/*::]*/: { /* n:\"BrtBeginPCDFGroup\", */ T:1 },\n\t/*::[*/0x00DC/*::]*/: { /* n:\"BrtEndPCDFGroup\", */ T:-1 },\n\t/*::[*/0x00DD/*::]*/: { /* n:\"BrtBeginPCDFGItems\", */ T:1 },\n\t/*::[*/0x00DE/*::]*/: { /* n:\"BrtEndPCDFGItems\", */ T:-1 },\n\t/*::[*/0x00DF/*::]*/: { /* n:\"BrtBeginPCDFGRange\", */ T:1 },\n\t/*::[*/0x00E0/*::]*/: { /* n:\"BrtEndPCDFGRange\", */ T:-1 },\n\t/*::[*/0x00E1/*::]*/: { /* n:\"BrtBeginPCDFGDiscrete\", */ T:1 },\n\t/*::[*/0x00E2/*::]*/: { /* n:\"BrtEndPCDFGDiscrete\", */ T:-1 },\n\t/*::[*/0x00E3/*::]*/: { /* n:\"BrtBeginPCDSDTupleCache\", */ T:1 },\n\t/*::[*/0x00E4/*::]*/: { /* n:\"BrtEndPCDSDTupleCache\", */ T:-1 },\n\t/*::[*/0x00E5/*::]*/: { /* n:\"BrtBeginPCDSDTCEntries\", */ T:1 },\n\t/*::[*/0x00E6/*::]*/: { /* n:\"BrtEndPCDSDTCEntries\", */ T:-1 },\n\t/*::[*/0x00E7/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembers\", */ T:1 },\n\t/*::[*/0x00E8/*::]*/: { /* n:\"BrtEndPCDSDTCEMembers\", */ T:-1 },\n\t/*::[*/0x00E9/*::]*/: { /* n:\"BrtBeginPCDSDTCEMember\", */ T:1 },\n\t/*::[*/0x00EA/*::]*/: { /* n:\"BrtEndPCDSDTCEMember\", */ T:-1 },\n\t/*::[*/0x00EB/*::]*/: { /* n:\"BrtBeginPCDSDTCQueries\", */ T:1 },\n\t/*::[*/0x00EC/*::]*/: { /* n:\"BrtEndPCDSDTCQueries\", */ T:-1 },\n\t/*::[*/0x00ED/*::]*/: { /* n:\"BrtBeginPCDSDTCQuery\", */ T:1 },\n\t/*::[*/0x00EE/*::]*/: { /* n:\"BrtEndPCDSDTCQuery\", */ T:-1 },\n\t/*::[*/0x00EF/*::]*/: { /* n:\"BrtBeginPCDSDTCSets\", */ T:1 },\n\t/*::[*/0x00F0/*::]*/: { /* n:\"BrtEndPCDSDTCSets\", */ T:-1 },\n\t/*::[*/0x00F1/*::]*/: { /* n:\"BrtBeginPCDSDTCSet\", */ T:1 },\n\t/*::[*/0x00F2/*::]*/: { /* n:\"BrtEndPCDSDTCSet\", */ T:-1 },\n\t/*::[*/0x00F3/*::]*/: { /* n:\"BrtBeginPCDCalcItems\", */ T:1 },\n\t/*::[*/0x00F4/*::]*/: { /* n:\"BrtEndPCDCalcItems\", */ T:-1 },\n\t/*::[*/0x00F5/*::]*/: { /* n:\"BrtBeginPCDCalcItem\", */ T:1 },\n\t/*::[*/0x00F6/*::]*/: { /* n:\"BrtEndPCDCalcItem\", */ T:-1 },\n\t/*::[*/0x00F7/*::]*/: { /* n:\"BrtBeginPRule\", */ T:1 },\n\t/*::[*/0x00F8/*::]*/: { /* n:\"BrtEndPRule\", */ T:-1 },\n\t/*::[*/0x00F9/*::]*/: { /* n:\"BrtBeginPRFilters\", */ T:1 },\n\t/*::[*/0x00FA/*::]*/: { /* n:\"BrtEndPRFilters\", */ T:-1 },\n\t/*::[*/0x00FB/*::]*/: { /* n:\"BrtBeginPRFilter\", */ T:1 },\n\t/*::[*/0x00FC/*::]*/: { /* n:\"BrtEndPRFilter\", */ T:-1 },\n\t/*::[*/0x00FD/*::]*/: { /* n:\"BrtBeginPNames\", */ T:1 },\n\t/*::[*/0x00FE/*::]*/: { /* n:\"BrtEndPNames\", */ T:-1 },\n\t/*::[*/0x00FF/*::]*/: { /* n:\"BrtBeginPName\", */ T:1 },\n\t/*::[*/0x0100/*::]*/: { /* n:\"BrtEndPName\", */ T:-1 },\n\t/*::[*/0x0101/*::]*/: { /* n:\"BrtBeginPNPairs\", */ T:1 },\n\t/*::[*/0x0102/*::]*/: { /* n:\"BrtEndPNPairs\", */ T:-1 },\n\t/*::[*/0x0103/*::]*/: { /* n:\"BrtBeginPNPair\", */ T:1 },\n\t/*::[*/0x0104/*::]*/: { /* n:\"BrtEndPNPair\", */ T:-1 },\n\t/*::[*/0x0105/*::]*/: { /* n:\"BrtBeginECWebProps\", */ T:1 },\n\t/*::[*/0x0106/*::]*/: { /* n:\"BrtEndECWebProps\", */ T:-1 },\n\t/*::[*/0x0107/*::]*/: { /* n:\"BrtBeginEcWpTables\", */ T:1 },\n\t/*::[*/0x0108/*::]*/: { /* n:\"BrtEndECWPTables\", */ T:-1 },\n\t/*::[*/0x0109/*::]*/: { /* n:\"BrtBeginECParams\", */ T:1 },\n\t/*::[*/0x010A/*::]*/: { /* n:\"BrtEndECParams\", */ T:-1 },\n\t/*::[*/0x010B/*::]*/: { /* n:\"BrtBeginECParam\", */ T:1 },\n\t/*::[*/0x010C/*::]*/: { /* n:\"BrtEndECParam\", */ T:-1 },\n\t/*::[*/0x010D/*::]*/: { /* n:\"BrtBeginPCDKPIs\", */ T:1 },\n\t/*::[*/0x010E/*::]*/: { /* n:\"BrtEndPCDKPIs\", */ T:-1 },\n\t/*::[*/0x010F/*::]*/: { /* n:\"BrtBeginPCDKPI\", */ T:1 },\n\t/*::[*/0x0110/*::]*/: { /* n:\"BrtEndPCDKPI\", */ T:-1 },\n\t/*::[*/0x0111/*::]*/: { /* n:\"BrtBeginDims\", */ T:1 },\n\t/*::[*/0x0112/*::]*/: { /* n:\"BrtEndDims\", */ T:-1 },\n\t/*::[*/0x0113/*::]*/: { /* n:\"BrtBeginDim\", */ T:1 },\n\t/*::[*/0x0114/*::]*/: { /* n:\"BrtEndDim\", */ T:-1 },\n\t/*::[*/0x0115/*::]*/: { /* n:\"BrtIndexPartEnd\" */ },\n\t/*::[*/0x0116/*::]*/: { /* n:\"BrtBeginStyleSheet\", */ T:1 },\n\t/*::[*/0x0117/*::]*/: { /* n:\"BrtEndStyleSheet\", */ T:-1 },\n\t/*::[*/0x0118/*::]*/: { /* n:\"BrtBeginSXView\", */ T:1 },\n\t/*::[*/0x0119/*::]*/: { /* n:\"BrtEndSXVI\", */ T:-1 },\n\t/*::[*/0x011A/*::]*/: { /* n:\"BrtBeginSXVI\", */ T:1 },\n\t/*::[*/0x011B/*::]*/: { /* n:\"BrtBeginSXVIs\", */ T:1 },\n\t/*::[*/0x011C/*::]*/: { /* n:\"BrtEndSXVIs\", */ T:-1 },\n\t/*::[*/0x011D/*::]*/: { /* n:\"BrtBeginSXVD\", */ T:1 },\n\t/*::[*/0x011E/*::]*/: { /* n:\"BrtEndSXVD\", */ T:-1 },\n\t/*::[*/0x011F/*::]*/: { /* n:\"BrtBeginSXVDs\", */ T:1 },\n\t/*::[*/0x0120/*::]*/: { /* n:\"BrtEndSXVDs\", */ T:-1 },\n\t/*::[*/0x0121/*::]*/: { /* n:\"BrtBeginSXPI\", */ T:1 },\n\t/*::[*/0x0122/*::]*/: { /* n:\"BrtEndSXPI\", */ T:-1 },\n\t/*::[*/0x0123/*::]*/: { /* n:\"BrtBeginSXPIs\", */ T:1 },\n\t/*::[*/0x0124/*::]*/: { /* n:\"BrtEndSXPIs\", */ T:-1 },\n\t/*::[*/0x0125/*::]*/: { /* n:\"BrtBeginSXDI\", */ T:1 },\n\t/*::[*/0x0126/*::]*/: { /* n:\"BrtEndSXDI\", */ T:-1 },\n\t/*::[*/0x0127/*::]*/: { /* n:\"BrtBeginSXDIs\", */ T:1 },\n\t/*::[*/0x0128/*::]*/: { /* n:\"BrtEndSXDIs\", */ T:-1 },\n\t/*::[*/0x0129/*::]*/: { /* n:\"BrtBeginSXLI\", */ T:1 },\n\t/*::[*/0x012A/*::]*/: { /* n:\"BrtEndSXLI\", */ T:-1 },\n\t/*::[*/0x012B/*::]*/: { /* n:\"BrtBeginSXLIRws\", */ T:1 },\n\t/*::[*/0x012C/*::]*/: { /* n:\"BrtEndSXLIRws\", */ T:-1 },\n\t/*::[*/0x012D/*::]*/: { /* n:\"BrtBeginSXLICols\", */ T:1 },\n\t/*::[*/0x012E/*::]*/: { /* n:\"BrtEndSXLICols\", */ T:-1 },\n\t/*::[*/0x012F/*::]*/: { /* n:\"BrtBeginSXFormat\", */ T:1 },\n\t/*::[*/0x0130/*::]*/: { /* n:\"BrtEndSXFormat\", */ T:-1 },\n\t/*::[*/0x0131/*::]*/: { /* n:\"BrtBeginSXFormats\", */ T:1 },\n\t/*::[*/0x0132/*::]*/: { /* n:\"BrtEndSxFormats\", */ T:-1 },\n\t/*::[*/0x0133/*::]*/: { /* n:\"BrtBeginSxSelect\", */ T:1 },\n\t/*::[*/0x0134/*::]*/: { /* n:\"BrtEndSxSelect\", */ T:-1 },\n\t/*::[*/0x0135/*::]*/: { /* n:\"BrtBeginISXVDRws\", */ T:1 },\n\t/*::[*/0x0136/*::]*/: { /* n:\"BrtEndISXVDRws\", */ T:-1 },\n\t/*::[*/0x0137/*::]*/: { /* n:\"BrtBeginISXVDCols\", */ T:1 },\n\t/*::[*/0x0138/*::]*/: { /* n:\"BrtEndISXVDCols\", */ T:-1 },\n\t/*::[*/0x0139/*::]*/: { /* n:\"BrtEndSXLocation\", */ T:-1 },\n\t/*::[*/0x013A/*::]*/: { /* n:\"BrtBeginSXLocation\", */ T:1 },\n\t/*::[*/0x013B/*::]*/: { /* n:\"BrtEndSXView\", */ T:-1 },\n\t/*::[*/0x013C/*::]*/: { /* n:\"BrtBeginSXTHs\", */ T:1 },\n\t/*::[*/0x013D/*::]*/: { /* n:\"BrtEndSXTHs\", */ T:-1 },\n\t/*::[*/0x013E/*::]*/: { /* n:\"BrtBeginSXTH\", */ T:1 },\n\t/*::[*/0x013F/*::]*/: { /* n:\"BrtEndSXTH\", */ T:-1 },\n\t/*::[*/0x0140/*::]*/: { /* n:\"BrtBeginISXTHRws\", */ T:1 },\n\t/*::[*/0x0141/*::]*/: { /* n:\"BrtEndISXTHRws\", */ T:-1 },\n\t/*::[*/0x0142/*::]*/: { /* n:\"BrtBeginISXTHCols\", */ T:1 },\n\t/*::[*/0x0143/*::]*/: { /* n:\"BrtEndISXTHCols\", */ T:-1 },\n\t/*::[*/0x0144/*::]*/: { /* n:\"BrtBeginSXTDMPS\", */ T:1 },\n\t/*::[*/0x0145/*::]*/: { /* n:\"BrtEndSXTDMPs\", */ T:-1 },\n\t/*::[*/0x0146/*::]*/: { /* n:\"BrtBeginSXTDMP\", */ T:1 },\n\t/*::[*/0x0147/*::]*/: { /* n:\"BrtEndSXTDMP\", */ T:-1 },\n\t/*::[*/0x0148/*::]*/: { /* n:\"BrtBeginSXTHItems\", */ T:1 },\n\t/*::[*/0x0149/*::]*/: { /* n:\"BrtEndSXTHItems\", */ T:-1 },\n\t/*::[*/0x014A/*::]*/: { /* n:\"BrtBeginSXTHItem\", */ T:1 },\n\t/*::[*/0x014B/*::]*/: { /* n:\"BrtEndSXTHItem\", */ T:-1 },\n\t/*::[*/0x014C/*::]*/: { /* n:\"BrtBeginMetadata\", */ T:1 },\n\t/*::[*/0x014D/*::]*/: { /* n:\"BrtEndMetadata\", */ T:-1 },\n\t/*::[*/0x014E/*::]*/: { /* n:\"BrtBeginEsmdtinfo\", */ T:1 },\n\t/*::[*/0x014F/*::]*/: { /* n:\"BrtMdtinfo\", */ f:parse_BrtMdtinfo },\n\t/*::[*/0x0150/*::]*/: { /* n:\"BrtEndEsmdtinfo\", */ T:-1 },\n\t/*::[*/0x0151/*::]*/: { /* n:\"BrtBeginEsmdb\", */ f:parse_BrtBeginEsmdb, T:1 },\n\t/*::[*/0x0152/*::]*/: { /* n:\"BrtEndEsmdb\", */ T:-1 },\n\t/*::[*/0x0153/*::]*/: { /* n:\"BrtBeginEsfmd\", */ T:1 },\n\t/*::[*/0x0154/*::]*/: { /* n:\"BrtEndEsfmd\", */ T:-1 },\n\t/*::[*/0x0155/*::]*/: { /* n:\"BrtBeginSingleCells\", */ T:1 },\n\t/*::[*/0x0156/*::]*/: { /* n:\"BrtEndSingleCells\", */ T:-1 },\n\t/*::[*/0x0157/*::]*/: { /* n:\"BrtBeginList\", */ T:1 },\n\t/*::[*/0x0158/*::]*/: { /* n:\"BrtEndList\", */ T:-1 },\n\t/*::[*/0x0159/*::]*/: { /* n:\"BrtBeginListCols\", */ T:1 },\n\t/*::[*/0x015A/*::]*/: { /* n:\"BrtEndListCols\", */ T:-1 },\n\t/*::[*/0x015B/*::]*/: { /* n:\"BrtBeginListCol\", */ T:1 },\n\t/*::[*/0x015C/*::]*/: { /* n:\"BrtEndListCol\", */ T:-1 },\n\t/*::[*/0x015D/*::]*/: { /* n:\"BrtBeginListXmlCPr\", */ T:1 },\n\t/*::[*/0x015E/*::]*/: { /* n:\"BrtEndListXmlCPr\", */ T:-1 },\n\t/*::[*/0x015F/*::]*/: { /* n:\"BrtListCCFmla\" */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"BrtListTrFmla\" */ },\n\t/*::[*/0x0161/*::]*/: { /* n:\"BrtBeginExternals\", */ T:1 },\n\t/*::[*/0x0162/*::]*/: { /* n:\"BrtEndExternals\", */ T:-1 },\n\t/*::[*/0x0163/*::]*/: { /* n:\"BrtSupBookSrc\", */ f:parse_RelID},\n\t/*::[*/0x0165/*::]*/: { /* n:\"BrtSupSelf\" */ },\n\t/*::[*/0x0166/*::]*/: { /* n:\"BrtSupSame\" */ },\n\t/*::[*/0x0167/*::]*/: { /* n:\"BrtSupTabs\" */ },\n\t/*::[*/0x0168/*::]*/: { /* n:\"BrtBeginSupBook\", */ T:1 },\n\t/*::[*/0x0169/*::]*/: { /* n:\"BrtPlaceholderName\" */ },\n\t/*::[*/0x016A/*::]*/: { /* n:\"BrtExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x016B/*::]*/: { /* n:\"BrtExternTableStart\" */ },\n\t/*::[*/0x016C/*::]*/: { /* n:\"BrtExternTableEnd\" */ },\n\t/*::[*/0x016E/*::]*/: { /* n:\"BrtExternRowHdr\" */ },\n\t/*::[*/0x016F/*::]*/: { /* n:\"BrtExternCellBlank\" */ },\n\t/*::[*/0x0170/*::]*/: { /* n:\"BrtExternCellReal\" */ },\n\t/*::[*/0x0171/*::]*/: { /* n:\"BrtExternCellBool\" */ },\n\t/*::[*/0x0172/*::]*/: { /* n:\"BrtExternCellError\" */ },\n\t/*::[*/0x0173/*::]*/: { /* n:\"BrtExternCellString\" */ },\n\t/*::[*/0x0174/*::]*/: { /* n:\"BrtBeginEsmdx\", */ T:1 },\n\t/*::[*/0x0175/*::]*/: { /* n:\"BrtEndEsmdx\", */ T:-1 },\n\t/*::[*/0x0176/*::]*/: { /* n:\"BrtBeginMdxSet\", */ T:1 },\n\t/*::[*/0x0177/*::]*/: { /* n:\"BrtEndMdxSet\", */ T:-1 },\n\t/*::[*/0x0178/*::]*/: { /* n:\"BrtBeginMdxMbrProp\", */ T:1 },\n\t/*::[*/0x0179/*::]*/: { /* n:\"BrtEndMdxMbrProp\", */ T:-1 },\n\t/*::[*/0x017A/*::]*/: { /* n:\"BrtBeginMdxKPI\", */ T:1 },\n\t/*::[*/0x017B/*::]*/: { /* n:\"BrtEndMdxKPI\", */ T:-1 },\n\t/*::[*/0x017C/*::]*/: { /* n:\"BrtBeginEsstr\", */ T:1 },\n\t/*::[*/0x017D/*::]*/: { /* n:\"BrtEndEsstr\", */ T:-1 },\n\t/*::[*/0x017E/*::]*/: { /* n:\"BrtBeginPRFItem\", */ T:1 },\n\t/*::[*/0x017F/*::]*/: { /* n:\"BrtEndPRFItem\", */ T:-1 },\n\t/*::[*/0x0180/*::]*/: { /* n:\"BrtBeginPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0181/*::]*/: { /* n:\"BrtEndPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0182/*::]*/: { /* n:\"BrtBeginPivotCacheID\", */ T:1 },\n\t/*::[*/0x0183/*::]*/: { /* n:\"BrtEndPivotCacheID\", */ T:-1 },\n\t/*::[*/0x0184/*::]*/: { /* n:\"BrtBeginISXVIs\", */ T:1 },\n\t/*::[*/0x0185/*::]*/: { /* n:\"BrtEndISXVIs\", */ T:-1 },\n\t/*::[*/0x0186/*::]*/: { /* n:\"BrtBeginColInfos\", */ T:1 },\n\t/*::[*/0x0187/*::]*/: { /* n:\"BrtEndColInfos\", */ T:-1 },\n\t/*::[*/0x0188/*::]*/: { /* n:\"BrtBeginRwBrk\", */ T:1 },\n\t/*::[*/0x0189/*::]*/: { /* n:\"BrtEndRwBrk\", */ T:-1 },\n\t/*::[*/0x018A/*::]*/: { /* n:\"BrtBeginColBrk\", */ T:1 },\n\t/*::[*/0x018B/*::]*/: { /* n:\"BrtEndColBrk\", */ T:-1 },\n\t/*::[*/0x018C/*::]*/: { /* n:\"BrtBrk\" */ },\n\t/*::[*/0x018D/*::]*/: { /* n:\"BrtUserBookView\" */ },\n\t/*::[*/0x018E/*::]*/: { /* n:\"BrtInfo\" */ },\n\t/*::[*/0x018F/*::]*/: { /* n:\"BrtCUsr\" */ },\n\t/*::[*/0x0190/*::]*/: { /* n:\"BrtUsr\" */ },\n\t/*::[*/0x0191/*::]*/: { /* n:\"BrtBeginUsers\", */ T:1 },\n\t/*::[*/0x0193/*::]*/: { /* n:\"BrtEOF\" */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"BrtUCR\" */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"BrtRRInsDel\" */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"BrtRREndInsDel\" */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BrtRRMove\" */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"BrtRREndMove\" */ },\n\t/*::[*/0x0199/*::]*/: { /* n:\"BrtRRChgCell\" */ },\n\t/*::[*/0x019A/*::]*/: { /* n:\"BrtRREndChgCell\" */ },\n\t/*::[*/0x019B/*::]*/: { /* n:\"BrtRRHeader\" */ },\n\t/*::[*/0x019C/*::]*/: { /* n:\"BrtRRUserView\" */ },\n\t/*::[*/0x019D/*::]*/: { /* n:\"BrtRRRenSheet\" */ },\n\t/*::[*/0x019E/*::]*/: { /* n:\"BrtRRInsertSh\" */ },\n\t/*::[*/0x019F/*::]*/: { /* n:\"BrtRRDefName\" */ },\n\t/*::[*/0x01A0/*::]*/: { /* n:\"BrtRRNote\" */ },\n\t/*::[*/0x01A1/*::]*/: { /* n:\"BrtRRConflict\" */ },\n\t/*::[*/0x01A2/*::]*/: { /* n:\"BrtRRTQSIF\" */ },\n\t/*::[*/0x01A3/*::]*/: { /* n:\"BrtRRFormat\" */ },\n\t/*::[*/0x01A4/*::]*/: { /* n:\"BrtRREndFormat\" */ },\n\t/*::[*/0x01A5/*::]*/: { /* n:\"BrtRRAutoFmt\" */ },\n\t/*::[*/0x01A6/*::]*/: { /* n:\"BrtBeginUserShViews\", */ T:1 },\n\t/*::[*/0x01A7/*::]*/: { /* n:\"BrtBeginUserShView\", */ T:1 },\n\t/*::[*/0x01A8/*::]*/: { /* n:\"BrtEndUserShView\", */ T:-1 },\n\t/*::[*/0x01A9/*::]*/: { /* n:\"BrtEndUserShViews\", */ T:-1 },\n\t/*::[*/0x01AA/*::]*/: { /* n:\"BrtArrFmla\", */ f:parse_BrtArrFmla },\n\t/*::[*/0x01AB/*::]*/: { /* n:\"BrtShrFmla\", */ f:parse_BrtShrFmla },\n\t/*::[*/0x01AC/*::]*/: { /* n:\"BrtTable\" */ },\n\t/*::[*/0x01AD/*::]*/: { /* n:\"BrtBeginExtConnections\", */ T:1 },\n\t/*::[*/0x01AE/*::]*/: { /* n:\"BrtEndExtConnections\", */ T:-1 },\n\t/*::[*/0x01AF/*::]*/: { /* n:\"BrtBeginPCDCalcMems\", */ T:1 },\n\t/*::[*/0x01B0/*::]*/: { /* n:\"BrtEndPCDCalcMems\", */ T:-1 },\n\t/*::[*/0x01B1/*::]*/: { /* n:\"BrtBeginPCDCalcMem\", */ T:1 },\n\t/*::[*/0x01B2/*::]*/: { /* n:\"BrtEndPCDCalcMem\", */ T:-1 },\n\t/*::[*/0x01B3/*::]*/: { /* n:\"BrtBeginPCDHGLevels\", */ T:1 },\n\t/*::[*/0x01B4/*::]*/: { /* n:\"BrtEndPCDHGLevels\", */ T:-1 },\n\t/*::[*/0x01B5/*::]*/: { /* n:\"BrtBeginPCDHGLevel\", */ T:1 },\n\t/*::[*/0x01B6/*::]*/: { /* n:\"BrtEndPCDHGLevel\", */ T:-1 },\n\t/*::[*/0x01B7/*::]*/: { /* n:\"BrtBeginPCDHGLGroups\", */ T:1 },\n\t/*::[*/0x01B8/*::]*/: { /* n:\"BrtEndPCDHGLGroups\", */ T:-1 },\n\t/*::[*/0x01B9/*::]*/: { /* n:\"BrtBeginPCDHGLGroup\", */ T:1 },\n\t/*::[*/0x01BA/*::]*/: { /* n:\"BrtEndPCDHGLGroup\", */ T:-1 },\n\t/*::[*/0x01BB/*::]*/: { /* n:\"BrtBeginPCDHGLGMembers\", */ T:1 },\n\t/*::[*/0x01BC/*::]*/: { /* n:\"BrtEndPCDHGLGMembers\", */ T:-1 },\n\t/*::[*/0x01BD/*::]*/: { /* n:\"BrtBeginPCDHGLGMember\", */ T:1 },\n\t/*::[*/0x01BE/*::]*/: { /* n:\"BrtEndPCDHGLGMember\", */ T:-1 },\n\t/*::[*/0x01BF/*::]*/: { /* n:\"BrtBeginQSI\", */ T:1 },\n\t/*::[*/0x01C0/*::]*/: { /* n:\"BrtEndQSI\", */ T:-1 },\n\t/*::[*/0x01C1/*::]*/: { /* n:\"BrtBeginQSIR\", */ T:1 },\n\t/*::[*/0x01C2/*::]*/: { /* n:\"BrtEndQSIR\", */ T:-1 },\n\t/*::[*/0x01C3/*::]*/: { /* n:\"BrtBeginDeletedNames\", */ T:1 },\n\t/*::[*/0x01C4/*::]*/: { /* n:\"BrtEndDeletedNames\", */ T:-1 },\n\t/*::[*/0x01C5/*::]*/: { /* n:\"BrtBeginDeletedName\", */ T:1 },\n\t/*::[*/0x01C6/*::]*/: { /* n:\"BrtEndDeletedName\", */ T:-1 },\n\t/*::[*/0x01C7/*::]*/: { /* n:\"BrtBeginQSIFs\", */ T:1 },\n\t/*::[*/0x01C8/*::]*/: { /* n:\"BrtEndQSIFs\", */ T:-1 },\n\t/*::[*/0x01C9/*::]*/: { /* n:\"BrtBeginQSIF\", */ T:1 },\n\t/*::[*/0x01CA/*::]*/: { /* n:\"BrtEndQSIF\", */ T:-1 },\n\t/*::[*/0x01CB/*::]*/: { /* n:\"BrtBeginAutoSortScope\", */ T:1 },\n\t/*::[*/0x01CC/*::]*/: { /* n:\"BrtEndAutoSortScope\", */ T:-1 },\n\t/*::[*/0x01CD/*::]*/: { /* n:\"BrtBeginConditionalFormatting\", */ T:1 },\n\t/*::[*/0x01CE/*::]*/: { /* n:\"BrtEndConditionalFormatting\", */ T:-1 },\n\t/*::[*/0x01CF/*::]*/: { /* n:\"BrtBeginCFRule\", */ T:1 },\n\t/*::[*/0x01D0/*::]*/: { /* n:\"BrtEndCFRule\", */ T:-1 },\n\t/*::[*/0x01D1/*::]*/: { /* n:\"BrtBeginIconSet\", */ T:1 },\n\t/*::[*/0x01D2/*::]*/: { /* n:\"BrtEndIconSet\", */ T:-1 },\n\t/*::[*/0x01D3/*::]*/: { /* n:\"BrtBeginDatabar\", */ T:1 },\n\t/*::[*/0x01D4/*::]*/: { /* n:\"BrtEndDatabar\", */ T:-1 },\n\t/*::[*/0x01D5/*::]*/: { /* n:\"BrtBeginColorScale\", */ T:1 },\n\t/*::[*/0x01D6/*::]*/: { /* n:\"BrtEndColorScale\", */ T:-1 },\n\t/*::[*/0x01D7/*::]*/: { /* n:\"BrtCFVO\" */ },\n\t/*::[*/0x01D8/*::]*/: { /* n:\"BrtExternValueMeta\" */ },\n\t/*::[*/0x01D9/*::]*/: { /* n:\"BrtBeginColorPalette\", */ T:1 },\n\t/*::[*/0x01DA/*::]*/: { /* n:\"BrtEndColorPalette\", */ T:-1 },\n\t/*::[*/0x01DB/*::]*/: { /* n:\"BrtIndexedColor\" */ },\n\t/*::[*/0x01DC/*::]*/: { /* n:\"BrtMargins\", */ f:parse_BrtMargins },\n\t/*::[*/0x01DD/*::]*/: { /* n:\"BrtPrintOptions\" */ },\n\t/*::[*/0x01DE/*::]*/: { /* n:\"BrtPageSetup\" */ },\n\t/*::[*/0x01DF/*::]*/: { /* n:\"BrtBeginHeaderFooter\", */ T:1 },\n\t/*::[*/0x01E0/*::]*/: { /* n:\"BrtEndHeaderFooter\", */ T:-1 },\n\t/*::[*/0x01E1/*::]*/: { /* n:\"BrtBeginSXCrtFormat\", */ T:1 },\n\t/*::[*/0x01E2/*::]*/: { /* n:\"BrtEndSXCrtFormat\", */ T:-1 },\n\t/*::[*/0x01E3/*::]*/: { /* n:\"BrtBeginSXCrtFormats\", */ T:1 },\n\t/*::[*/0x01E4/*::]*/: { /* n:\"BrtEndSXCrtFormats\", */ T:-1 },\n\t/*::[*/0x01E5/*::]*/: { /* n:\"BrtWsFmtInfo\", */ f:parse_BrtWsFmtInfo },\n\t/*::[*/0x01E6/*::]*/: { /* n:\"BrtBeginMgs\", */ T:1 },\n\t/*::[*/0x01E7/*::]*/: { /* n:\"BrtEndMGs\", */ T:-1 },\n\t/*::[*/0x01E8/*::]*/: { /* n:\"BrtBeginMGMaps\", */ T:1 },\n\t/*::[*/0x01E9/*::]*/: { /* n:\"BrtEndMGMaps\", */ T:-1 },\n\t/*::[*/0x01EA/*::]*/: { /* n:\"BrtBeginMG\", */ T:1 },\n\t/*::[*/0x01EB/*::]*/: { /* n:\"BrtEndMG\", */ T:-1 },\n\t/*::[*/0x01EC/*::]*/: { /* n:\"BrtBeginMap\", */ T:1 },\n\t/*::[*/0x01ED/*::]*/: { /* n:\"BrtEndMap\", */ T:-1 },\n\t/*::[*/0x01EE/*::]*/: { /* n:\"BrtHLink\", */ f:parse_BrtHLink },\n\t/*::[*/0x01EF/*::]*/: { /* n:\"BrtBeginDCon\", */ T:1 },\n\t/*::[*/0x01F0/*::]*/: { /* n:\"BrtEndDCon\", */ T:-1 },\n\t/*::[*/0x01F1/*::]*/: { /* n:\"BrtBeginDRefs\", */ T:1 },\n\t/*::[*/0x01F2/*::]*/: { /* n:\"BrtEndDRefs\", */ T:-1 },\n\t/*::[*/0x01F3/*::]*/: { /* n:\"BrtDRef\" */ },\n\t/*::[*/0x01F4/*::]*/: { /* n:\"BrtBeginScenMan\", */ T:1 },\n\t/*::[*/0x01F5/*::]*/: { /* n:\"BrtEndScenMan\", */ T:-1 },\n\t/*::[*/0x01F6/*::]*/: { /* n:\"BrtBeginSct\", */ T:1 },\n\t/*::[*/0x01F7/*::]*/: { /* n:\"BrtEndSct\", */ T:-1 },\n\t/*::[*/0x01F8/*::]*/: { /* n:\"BrtSlc\" */ },\n\t/*::[*/0x01F9/*::]*/: { /* n:\"BrtBeginDXFs\", */ T:1 },\n\t/*::[*/0x01FA/*::]*/: { /* n:\"BrtEndDXFs\", */ T:-1 },\n\t/*::[*/0x01FB/*::]*/: { /* n:\"BrtDXF\" */ },\n\t/*::[*/0x01FC/*::]*/: { /* n:\"BrtBeginTableStyles\", */ T:1 },\n\t/*::[*/0x01FD/*::]*/: { /* n:\"BrtEndTableStyles\", */ T:-1 },\n\t/*::[*/0x01FE/*::]*/: { /* n:\"BrtBeginTableStyle\", */ T:1 },\n\t/*::[*/0x01FF/*::]*/: { /* n:\"BrtEndTableStyle\", */ T:-1 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"BrtTableStyleElement\" */ },\n\t/*::[*/0x0201/*::]*/: { /* n:\"BrtTableStyleClient\" */ },\n\t/*::[*/0x0202/*::]*/: { /* n:\"BrtBeginVolDeps\", */ T:1 },\n\t/*::[*/0x0203/*::]*/: { /* n:\"BrtEndVolDeps\", */ T:-1 },\n\t/*::[*/0x0204/*::]*/: { /* n:\"BrtBeginVolType\", */ T:1 },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BrtEndVolType\", */ T:-1 },\n\t/*::[*/0x0206/*::]*/: { /* n:\"BrtBeginVolMain\", */ T:1 },\n\t/*::[*/0x0207/*::]*/: { /* n:\"BrtEndVolMain\", */ T:-1 },\n\t/*::[*/0x0208/*::]*/: { /* n:\"BrtBeginVolTopic\", */ T:1 },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BrtEndVolTopic\", */ T:-1 },\n\t/*::[*/0x020A/*::]*/: { /* n:\"BrtVolSubtopic\" */ },\n\t/*::[*/0x020B/*::]*/: { /* n:\"BrtVolRef\" */ },\n\t/*::[*/0x020C/*::]*/: { /* n:\"BrtVolNum\" */ },\n\t/*::[*/0x020D/*::]*/: { /* n:\"BrtVolErr\" */ },\n\t/*::[*/0x020E/*::]*/: { /* n:\"BrtVolStr\" */ },\n\t/*::[*/0x020F/*::]*/: { /* n:\"BrtVolBool\" */ },\n\t/*::[*/0x0210/*::]*/: { /* n:\"BrtBeginCalcChain$\", */ T:1 },\n\t/*::[*/0x0211/*::]*/: { /* n:\"BrtEndCalcChain$\", */ T:-1 },\n\t/*::[*/0x0212/*::]*/: { /* n:\"BrtBeginSortState\", */ T:1 },\n\t/*::[*/0x0213/*::]*/: { /* n:\"BrtEndSortState\", */ T:-1 },\n\t/*::[*/0x0214/*::]*/: { /* n:\"BrtBeginSortCond\", */ T:1 },\n\t/*::[*/0x0215/*::]*/: { /* n:\"BrtEndSortCond\", */ T:-1 },\n\t/*::[*/0x0216/*::]*/: { /* n:\"BrtBookProtection\" */ },\n\t/*::[*/0x0217/*::]*/: { /* n:\"BrtSheetProtection\" */ },\n\t/*::[*/0x0218/*::]*/: { /* n:\"BrtRangeProtection\" */ },\n\t/*::[*/0x0219/*::]*/: { /* n:\"BrtPhoneticInfo\" */ },\n\t/*::[*/0x021A/*::]*/: { /* n:\"BrtBeginECTxtWiz\", */ T:1 },\n\t/*::[*/0x021B/*::]*/: { /* n:\"BrtEndECTxtWiz\", */ T:-1 },\n\t/*::[*/0x021C/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst\", */ T:1 },\n\t/*::[*/0x021D/*::]*/: { /* n:\"BrtEndECTWFldInfoLst\", */ T:-1 },\n\t/*::[*/0x021E/*::]*/: { /* n:\"BrtBeginECTwFldInfo\", */ T:1 },\n\t/*::[*/0x0224/*::]*/: { /* n:\"BrtFileSharing\" */ },\n\t/*::[*/0x0225/*::]*/: { /* n:\"BrtOleSize\" */ },\n\t/*::[*/0x0226/*::]*/: { /* n:\"BrtDrawing\", */ f:parse_RelID },\n\t/*::[*/0x0227/*::]*/: { /* n:\"BrtLegacyDrawing\" */ },\n\t/*::[*/0x0228/*::]*/: { /* n:\"BrtLegacyDrawingHF\" */ },\n\t/*::[*/0x0229/*::]*/: { /* n:\"BrtWebOpt\" */ },\n\t/*::[*/0x022A/*::]*/: { /* n:\"BrtBeginWebPubItems\", */ T:1 },\n\t/*::[*/0x022B/*::]*/: { /* n:\"BrtEndWebPubItems\", */ T:-1 },\n\t/*::[*/0x022C/*::]*/: { /* n:\"BrtBeginWebPubItem\", */ T:1 },\n\t/*::[*/0x022D/*::]*/: { /* n:\"BrtEndWebPubItem\", */ T:-1 },\n\t/*::[*/0x022E/*::]*/: { /* n:\"BrtBeginSXCondFmt\", */ T:1 },\n\t/*::[*/0x022F/*::]*/: { /* n:\"BrtEndSXCondFmt\", */ T:-1 },\n\t/*::[*/0x0230/*::]*/: { /* n:\"BrtBeginSXCondFmts\", */ T:1 },\n\t/*::[*/0x0231/*::]*/: { /* n:\"BrtEndSXCondFmts\", */ T:-1 },\n\t/*::[*/0x0232/*::]*/: { /* n:\"BrtBkHim\" */ },\n\t/*::[*/0x0234/*::]*/: { /* n:\"BrtColor\" */ },\n\t/*::[*/0x0235/*::]*/: { /* n:\"BrtBeginIndexedColors\", */ T:1 },\n\t/*::[*/0x0236/*::]*/: { /* n:\"BrtEndIndexedColors\", */ T:-1 },\n\t/*::[*/0x0239/*::]*/: { /* n:\"BrtBeginMRUColors\", */ T:1 },\n\t/*::[*/0x023A/*::]*/: { /* n:\"BrtEndMRUColors\", */ T:-1 },\n\t/*::[*/0x023C/*::]*/: { /* n:\"BrtMRUColor\" */ },\n\t/*::[*/0x023D/*::]*/: { /* n:\"BrtBeginDVals\", */ T:1 },\n\t/*::[*/0x023E/*::]*/: { /* n:\"BrtEndDVals\", */ T:-1 },\n\t/*::[*/0x0241/*::]*/: { /* n:\"BrtSupNameStart\" */ },\n\t/*::[*/0x0242/*::]*/: { /* n:\"BrtSupNameValueStart\" */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BrtSupNameValueEnd\" */ },\n\t/*::[*/0x0244/*::]*/: { /* n:\"BrtSupNameNum\" */ },\n\t/*::[*/0x0245/*::]*/: { /* n:\"BrtSupNameErr\" */ },\n\t/*::[*/0x0246/*::]*/: { /* n:\"BrtSupNameSt\" */ },\n\t/*::[*/0x0247/*::]*/: { /* n:\"BrtSupNameNil\" */ },\n\t/*::[*/0x0248/*::]*/: { /* n:\"BrtSupNameBool\" */ },\n\t/*::[*/0x0249/*::]*/: { /* n:\"BrtSupNameFmla\" */ },\n\t/*::[*/0x024A/*::]*/: { /* n:\"BrtSupNameBits\" */ },\n\t/*::[*/0x024B/*::]*/: { /* n:\"BrtSupNameEnd\" */ },\n\t/*::[*/0x024C/*::]*/: { /* n:\"BrtEndSupBook\", */ T:-1 },\n\t/*::[*/0x024D/*::]*/: { /* n:\"BrtCellSmartTagProperty\" */ },\n\t/*::[*/0x024E/*::]*/: { /* n:\"BrtBeginCellSmartTag\", */ T:1 },\n\t/*::[*/0x024F/*::]*/: { /* n:\"BrtEndCellSmartTag\", */ T:-1 },\n\t/*::[*/0x0250/*::]*/: { /* n:\"BrtBeginCellSmartTags\", */ T:1 },\n\t/*::[*/0x0251/*::]*/: { /* n:\"BrtEndCellSmartTags\", */ T:-1 },\n\t/*::[*/0x0252/*::]*/: { /* n:\"BrtBeginSmartTags\", */ T:1 },\n\t/*::[*/0x0253/*::]*/: { /* n:\"BrtEndSmartTags\", */ T:-1 },\n\t/*::[*/0x0254/*::]*/: { /* n:\"BrtSmartTagType\" */ },\n\t/*::[*/0x0255/*::]*/: { /* n:\"BrtBeginSmartTagTypes\", */ T:1 },\n\t/*::[*/0x0256/*::]*/: { /* n:\"BrtEndSmartTagTypes\", */ T:-1 },\n\t/*::[*/0x0257/*::]*/: { /* n:\"BrtBeginSXFilters\", */ T:1 },\n\t/*::[*/0x0258/*::]*/: { /* n:\"BrtEndSXFilters\", */ T:-1 },\n\t/*::[*/0x0259/*::]*/: { /* n:\"BrtBeginSXFILTER\", */ T:1 },\n\t/*::[*/0x025A/*::]*/: { /* n:\"BrtEndSXFilter\", */ T:-1 },\n\t/*::[*/0x025B/*::]*/: { /* n:\"BrtBeginFills\", */ T:1 },\n\t/*::[*/0x025C/*::]*/: { /* n:\"BrtEndFills\", */ T:-1 },\n\t/*::[*/0x025D/*::]*/: { /* n:\"BrtBeginCellWatches\", */ T:1 },\n\t/*::[*/0x025E/*::]*/: { /* n:\"BrtEndCellWatches\", */ T:-1 },\n\t/*::[*/0x025F/*::]*/: { /* n:\"BrtCellWatch\" */ },\n\t/*::[*/0x0260/*::]*/: { /* n:\"BrtBeginCRErrs\", */ T:1 },\n\t/*::[*/0x0261/*::]*/: { /* n:\"BrtEndCRErrs\", */ T:-1 },\n\t/*::[*/0x0262/*::]*/: { /* n:\"BrtCrashRecErr\" */ },\n\t/*::[*/0x0263/*::]*/: { /* n:\"BrtBeginFonts\", */ T:1 },\n\t/*::[*/0x0264/*::]*/: { /* n:\"BrtEndFonts\", */ T:-1 },\n\t/*::[*/0x0265/*::]*/: { /* n:\"BrtBeginBorders\", */ T:1 },\n\t/*::[*/0x0266/*::]*/: { /* n:\"BrtEndBorders\", */ T:-1 },\n\t/*::[*/0x0267/*::]*/: { /* n:\"BrtBeginFmts\", */ T:1 },\n\t/*::[*/0x0268/*::]*/: { /* n:\"BrtEndFmts\", */ T:-1 },\n\t/*::[*/0x0269/*::]*/: { /* n:\"BrtBeginCellXFs\", */ T:1 },\n\t/*::[*/0x026A/*::]*/: { /* n:\"BrtEndCellXFs\", */ T:-1 },\n\t/*::[*/0x026B/*::]*/: { /* n:\"BrtBeginStyles\", */ T:1 },\n\t/*::[*/0x026C/*::]*/: { /* n:\"BrtEndStyles\", */ T:-1 },\n\t/*::[*/0x0271/*::]*/: { /* n:\"BrtBigName\" */ },\n\t/*::[*/0x0272/*::]*/: { /* n:\"BrtBeginCellStyleXFs\", */ T:1 },\n\t/*::[*/0x0273/*::]*/: { /* n:\"BrtEndCellStyleXFs\", */ T:-1 },\n\t/*::[*/0x0274/*::]*/: { /* n:\"BrtBeginComments\", */ T:1 },\n\t/*::[*/0x0275/*::]*/: { /* n:\"BrtEndComments\", */ T:-1 },\n\t/*::[*/0x0276/*::]*/: { /* n:\"BrtBeginCommentAuthors\", */ T:1 },\n\t/*::[*/0x0277/*::]*/: { /* n:\"BrtEndCommentAuthors\", */ T:-1 },\n\t/*::[*/0x0278/*::]*/: { /* n:\"BrtCommentAuthor\", */ f:parse_BrtCommentAuthor },\n\t/*::[*/0x0279/*::]*/: { /* n:\"BrtBeginCommentList\", */ T:1 },\n\t/*::[*/0x027A/*::]*/: { /* n:\"BrtEndCommentList\", */ T:-1 },\n\t/*::[*/0x027B/*::]*/: { /* n:\"BrtBeginComment\", */ T:1, f:parse_BrtBeginComment},\n\t/*::[*/0x027C/*::]*/: { /* n:\"BrtEndComment\", */ T:-1 },\n\t/*::[*/0x027D/*::]*/: { /* n:\"BrtCommentText\", */ f:parse_BrtCommentText },\n\t/*::[*/0x027E/*::]*/: { /* n:\"BrtBeginOleObjects\", */ T:1 },\n\t/*::[*/0x027F/*::]*/: { /* n:\"BrtOleObject\" */ },\n\t/*::[*/0x0280/*::]*/: { /* n:\"BrtEndOleObjects\", */ T:-1 },\n\t/*::[*/0x0281/*::]*/: { /* n:\"BrtBeginSxrules\", */ T:1 },\n\t/*::[*/0x0282/*::]*/: { /* n:\"BrtEndSxRules\", */ T:-1 },\n\t/*::[*/0x0283/*::]*/: { /* n:\"BrtBeginActiveXControls\", */ T:1 },\n\t/*::[*/0x0284/*::]*/: { /* n:\"BrtActiveX\" */ },\n\t/*::[*/0x0285/*::]*/: { /* n:\"BrtEndActiveXControls\", */ T:-1 },\n\t/*::[*/0x0286/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembersSortBy\", */ T:1 },\n\t/*::[*/0x0288/*::]*/: { /* n:\"BrtBeginCellIgnoreECs\", */ T:1 },\n\t/*::[*/0x0289/*::]*/: { /* n:\"BrtCellIgnoreEC\" */ },\n\t/*::[*/0x028A/*::]*/: { /* n:\"BrtEndCellIgnoreECs\", */ T:-1 },\n\t/*::[*/0x028B/*::]*/: { /* n:\"BrtCsProp\", */ f:parse_BrtCsProp },\n\t/*::[*/0x028C/*::]*/: { /* n:\"BrtCsPageSetup\" */ },\n\t/*::[*/0x028D/*::]*/: { /* n:\"BrtBeginUserCsViews\", */ T:1 },\n\t/*::[*/0x028E/*::]*/: { /* n:\"BrtEndUserCsViews\", */ T:-1 },\n\t/*::[*/0x028F/*::]*/: { /* n:\"BrtBeginUserCsView\", */ T:1 },\n\t/*::[*/0x0290/*::]*/: { /* n:\"BrtEndUserCsView\", */ T:-1 },\n\t/*::[*/0x0291/*::]*/: { /* n:\"BrtBeginPcdSFCIEntries\", */ T:1 },\n\t/*::[*/0x0292/*::]*/: { /* n:\"BrtEndPCDSFCIEntries\", */ T:-1 },\n\t/*::[*/0x0293/*::]*/: { /* n:\"BrtPCDSFCIEntry\" */ },\n\t/*::[*/0x0294/*::]*/: { /* n:\"BrtBeginListParts\", */ T:1 },\n\t/*::[*/0x0295/*::]*/: { /* n:\"BrtListPart\" */ },\n\t/*::[*/0x0296/*::]*/: { /* n:\"BrtEndListParts\", */ T:-1 },\n\t/*::[*/0x0297/*::]*/: { /* n:\"BrtSheetCalcProp\" */ },\n\t/*::[*/0x0298/*::]*/: { /* n:\"BrtBeginFnGroup\", */ T:1 },\n\t/*::[*/0x0299/*::]*/: { /* n:\"BrtFnGroup\" */ },\n\t/*::[*/0x029A/*::]*/: { /* n:\"BrtEndFnGroup\", */ T:-1 },\n\t/*::[*/0x029B/*::]*/: { /* n:\"BrtSupAddin\" */ },\n\t/*::[*/0x029C/*::]*/: { /* n:\"BrtSXTDMPOrder\" */ },\n\t/*::[*/0x029D/*::]*/: { /* n:\"BrtCsProtection\" */ },\n\t/*::[*/0x029F/*::]*/: { /* n:\"BrtBeginWsSortMap\", */ T:1 },\n\t/*::[*/0x02A0/*::]*/: { /* n:\"BrtEndWsSortMap\", */ T:-1 },\n\t/*::[*/0x02A1/*::]*/: { /* n:\"BrtBeginRRSort\", */ T:1 },\n\t/*::[*/0x02A2/*::]*/: { /* n:\"BrtEndRRSort\", */ T:-1 },\n\t/*::[*/0x02A3/*::]*/: { /* n:\"BrtRRSortItem\" */ },\n\t/*::[*/0x02A4/*::]*/: { /* n:\"BrtFileSharingIso\" */ },\n\t/*::[*/0x02A5/*::]*/: { /* n:\"BrtBookProtectionIso\" */ },\n\t/*::[*/0x02A6/*::]*/: { /* n:\"BrtSheetProtectionIso\" */ },\n\t/*::[*/0x02A7/*::]*/: { /* n:\"BrtCsProtectionIso\" */ },\n\t/*::[*/0x02A8/*::]*/: { /* n:\"BrtRangeProtectionIso\" */ },\n\t/*::[*/0x02A9/*::]*/: { /* n:\"BrtDValList\" */ },\n\t/*::[*/0x0400/*::]*/: { /* n:\"BrtRwDescent\" */ },\n\t/*::[*/0x0401/*::]*/: { /* n:\"BrtKnownFonts\" */ },\n\t/*::[*/0x0402/*::]*/: { /* n:\"BrtBeginSXTupleSet\", */ T:1 },\n\t/*::[*/0x0403/*::]*/: { /* n:\"BrtEndSXTupleSet\", */ T:-1 },\n\t/*::[*/0x0404/*::]*/: { /* n:\"BrtBeginSXTupleSetHeader\", */ T:1 },\n\t/*::[*/0x0405/*::]*/: { /* n:\"BrtEndSXTupleSetHeader\", */ T:-1 },\n\t/*::[*/0x0406/*::]*/: { /* n:\"BrtSXTupleSetHeaderItem\" */ },\n\t/*::[*/0x0407/*::]*/: { /* n:\"BrtBeginSXTupleSetData\", */ T:1 },\n\t/*::[*/0x0408/*::]*/: { /* n:\"BrtEndSXTupleSetData\", */ T:-1 },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BrtBeginSXTupleSetRow\", */ T:1 },\n\t/*::[*/0x040A/*::]*/: { /* n:\"BrtEndSXTupleSetRow\", */ T:-1 },\n\t/*::[*/0x040B/*::]*/: { /* n:\"BrtSXTupleSetRowItem\" */ },\n\t/*::[*/0x040C/*::]*/: { /* n:\"BrtNameExt\" */ },\n\t/*::[*/0x040D/*::]*/: { /* n:\"BrtPCDH14\" */ },\n\t/*::[*/0x040E/*::]*/: { /* n:\"BrtBeginPCDCalcMem14\", */ T:1 },\n\t/*::[*/0x040F/*::]*/: { /* n:\"BrtEndPCDCalcMem14\", */ T:-1 },\n\t/*::[*/0x0410/*::]*/: { /* n:\"BrtSXTH14\" */ },\n\t/*::[*/0x0411/*::]*/: { /* n:\"BrtBeginSparklineGroup\", */ T:1 },\n\t/*::[*/0x0412/*::]*/: { /* n:\"BrtEndSparklineGroup\", */ T:-1 },\n\t/*::[*/0x0413/*::]*/: { /* n:\"BrtSparkline\" */ },\n\t/*::[*/0x0414/*::]*/: { /* n:\"BrtSXDI14\" */ },\n\t/*::[*/0x0415/*::]*/: { /* n:\"BrtWsFmtInfoEx14\" */ },\n\t/*::[*/0x0416/*::]*/: { /* n:\"BrtBeginConditionalFormatting14\", */ T:1 },\n\t/*::[*/0x0417/*::]*/: { /* n:\"BrtEndConditionalFormatting14\", */ T:-1 },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BrtBeginCFRule14\", */ T:1 },\n\t/*::[*/0x0419/*::]*/: { /* n:\"BrtEndCFRule14\", */ T:-1 },\n\t/*::[*/0x041A/*::]*/: { /* n:\"BrtCFVO14\" */ },\n\t/*::[*/0x041B/*::]*/: { /* n:\"BrtBeginDatabar14\", */ T:1 },\n\t/*::[*/0x041C/*::]*/: { /* n:\"BrtBeginIconSet14\", */ T:1 },\n\t/*::[*/0x041D/*::]*/: { /* n:\"BrtDVal14\", */ f: parse_BrtDVal14 },\n\t/*::[*/0x041E/*::]*/: { /* n:\"BrtBeginDVals14\", */ T:1 },\n\t/*::[*/0x041F/*::]*/: { /* n:\"BrtColor14\" */ },\n\t/*::[*/0x0420/*::]*/: { /* n:\"BrtBeginSparklines\", */ T:1 },\n\t/*::[*/0x0421/*::]*/: { /* n:\"BrtEndSparklines\", */ T:-1 },\n\t/*::[*/0x0422/*::]*/: { /* n:\"BrtBeginSparklineGroups\", */ T:1 },\n\t/*::[*/0x0423/*::]*/: { /* n:\"BrtEndSparklineGroups\", */ T:-1 },\n\t/*::[*/0x0425/*::]*/: { /* n:\"BrtSXVD14\" */ },\n\t/*::[*/0x0426/*::]*/: { /* n:\"BrtBeginSXView14\", */ T:1 },\n\t/*::[*/0x0427/*::]*/: { /* n:\"BrtEndSXView14\", */ T:-1 },\n\t/*::[*/0x0428/*::]*/: { /* n:\"BrtBeginSXView16\", */ T:1 },\n\t/*::[*/0x0429/*::]*/: { /* n:\"BrtEndSXView16\", */ T:-1 },\n\t/*::[*/0x042A/*::]*/: { /* n:\"BrtBeginPCD14\", */ T:1 },\n\t/*::[*/0x042B/*::]*/: { /* n:\"BrtEndPCD14\", */ T:-1 },\n\t/*::[*/0x042C/*::]*/: { /* n:\"BrtBeginExtConn14\", */ T:1 },\n\t/*::[*/0x042D/*::]*/: { /* n:\"BrtEndExtConn14\", */ T:-1 },\n\t/*::[*/0x042E/*::]*/: { /* n:\"BrtBeginSlicerCacheIDs\", */ T:1 },\n\t/*::[*/0x042F/*::]*/: { /* n:\"BrtEndSlicerCacheIDs\", */ T:-1 },\n\t/*::[*/0x0430/*::]*/: { /* n:\"BrtBeginSlicerCacheID\", */ T:1 },\n\t/*::[*/0x0431/*::]*/: { /* n:\"BrtEndSlicerCacheID\", */ T:-1 },\n\t/*::[*/0x0433/*::]*/: { /* n:\"BrtBeginSlicerCache\", */ T:1 },\n\t/*::[*/0x0434/*::]*/: { /* n:\"BrtEndSlicerCache\", */ T:-1 },\n\t/*::[*/0x0435/*::]*/: { /* n:\"BrtBeginSlicerCacheDef\", */ T:1 },\n\t/*::[*/0x0436/*::]*/: { /* n:\"BrtEndSlicerCacheDef\", */ T:-1 },\n\t/*::[*/0x0437/*::]*/: { /* n:\"BrtBeginSlicersEx\", */ T:1 },\n\t/*::[*/0x0438/*::]*/: { /* n:\"BrtEndSlicersEx\", */ T:-1 },\n\t/*::[*/0x0439/*::]*/: { /* n:\"BrtBeginSlicerEx\", */ T:1 },\n\t/*::[*/0x043A/*::]*/: { /* n:\"BrtEndSlicerEx\", */ T:-1 },\n\t/*::[*/0x043B/*::]*/: { /* n:\"BrtBeginSlicer\", */ T:1 },\n\t/*::[*/0x043C/*::]*/: { /* n:\"BrtEndSlicer\", */ T:-1 },\n\t/*::[*/0x043D/*::]*/: { /* n:\"BrtSlicerCachePivotTables\" */ },\n\t/*::[*/0x043E/*::]*/: { /* n:\"BrtBeginSlicerCacheOlapImpl\", */ T:1 },\n\t/*::[*/0x043F/*::]*/: { /* n:\"BrtEndSlicerCacheOlapImpl\", */ T:-1 },\n\t/*::[*/0x0440/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelsData\", */ T:1 },\n\t/*::[*/0x0441/*::]*/: { /* n:\"BrtEndSlicerCacheLevelsData\", */ T:-1 },\n\t/*::[*/0x0442/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelData\", */ T:1 },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BrtEndSlicerCacheLevelData\", */ T:-1 },\n\t/*::[*/0x0444/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRanges\", */ T:1 },\n\t/*::[*/0x0445/*::]*/: { /* n:\"BrtEndSlicerCacheSiRanges\", */ T:-1 },\n\t/*::[*/0x0446/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRange\", */ T:1 },\n\t/*::[*/0x0447/*::]*/: { /* n:\"BrtEndSlicerCacheSiRange\", */ T:-1 },\n\t/*::[*/0x0448/*::]*/: { /* n:\"BrtSlicerCacheOlapItem\" */ },\n\t/*::[*/0x0449/*::]*/: { /* n:\"BrtBeginSlicerCacheSelections\", */ T:1 },\n\t/*::[*/0x044A/*::]*/: { /* n:\"BrtSlicerCacheSelection\" */ },\n\t/*::[*/0x044B/*::]*/: { /* n:\"BrtEndSlicerCacheSelections\", */ T:-1 },\n\t/*::[*/0x044C/*::]*/: { /* n:\"BrtBeginSlicerCacheNative\", */ T:1 },\n\t/*::[*/0x044D/*::]*/: { /* n:\"BrtEndSlicerCacheNative\", */ T:-1 },\n\t/*::[*/0x044E/*::]*/: { /* n:\"BrtSlicerCacheNativeItem\" */ },\n\t/*::[*/0x044F/*::]*/: { /* n:\"BrtRangeProtection14\" */ },\n\t/*::[*/0x0450/*::]*/: { /* n:\"BrtRangeProtectionIso14\" */ },\n\t/*::[*/0x0451/*::]*/: { /* n:\"BrtCellIgnoreEC14\" */ },\n\t/*::[*/0x0457/*::]*/: { /* n:\"BrtList14\" */ },\n\t/*::[*/0x0458/*::]*/: { /* n:\"BrtCFIcon\" */ },\n\t/*::[*/0x0459/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x045A/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x045B/*::]*/: { /* n:\"BrtBeginSlicers\", */ T:1 },\n\t/*::[*/0x045C/*::]*/: { /* n:\"BrtEndSlicers\", */ T:-1 },\n\t/*::[*/0x045D/*::]*/: { /* n:\"BrtWbProp14\" */ },\n\t/*::[*/0x045E/*::]*/: { /* n:\"BrtBeginSXEdit\", */ T:1 },\n\t/*::[*/0x045F/*::]*/: { /* n:\"BrtEndSXEdit\", */ T:-1 },\n\t/*::[*/0x0460/*::]*/: { /* n:\"BrtBeginSXEdits\", */ T:1 },\n\t/*::[*/0x0461/*::]*/: { /* n:\"BrtEndSXEdits\", */ T:-1 },\n\t/*::[*/0x0462/*::]*/: { /* n:\"BrtBeginSXChange\", */ T:1 },\n\t/*::[*/0x0463/*::]*/: { /* n:\"BrtEndSXChange\", */ T:-1 },\n\t/*::[*/0x0464/*::]*/: { /* n:\"BrtBeginSXChanges\", */ T:1 },\n\t/*::[*/0x0465/*::]*/: { /* n:\"BrtEndSXChanges\", */ T:-1 },\n\t/*::[*/0x0466/*::]*/: { /* n:\"BrtSXTupleItems\" */ },\n\t/*::[*/0x0468/*::]*/: { /* n:\"BrtBeginSlicerStyle\", */ T:1 },\n\t/*::[*/0x0469/*::]*/: { /* n:\"BrtEndSlicerStyle\", */ T:-1 },\n\t/*::[*/0x046A/*::]*/: { /* n:\"BrtSlicerStyleElement\" */ },\n\t/*::[*/0x046B/*::]*/: { /* n:\"BrtBeginStyleSheetExt14\", */ T:1 },\n\t/*::[*/0x046C/*::]*/: { /* n:\"BrtEndStyleSheetExt14\", */ T:-1 },\n\t/*::[*/0x046D/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheID\", */ T:1 },\n\t/*::[*/0x046E/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheID\", */ T:-1 },\n\t/*::[*/0x046F/*::]*/: { /* n:\"BrtBeginConditionalFormattings\", */ T:1 },\n\t/*::[*/0x0470/*::]*/: { /* n:\"BrtEndConditionalFormattings\", */ T:-1 },\n\t/*::[*/0x0471/*::]*/: { /* n:\"BrtBeginPCDCalcMemExt\", */ T:1 },\n\t/*::[*/0x0472/*::]*/: { /* n:\"BrtEndPCDCalcMemExt\", */ T:-1 },\n\t/*::[*/0x0473/*::]*/: { /* n:\"BrtBeginPCDCalcMemsExt\", */ T:1 },\n\t/*::[*/0x0474/*::]*/: { /* n:\"BrtEndPCDCalcMemsExt\", */ T:-1 },\n\t/*::[*/0x0475/*::]*/: { /* n:\"BrtPCDField14\" */ },\n\t/*::[*/0x0476/*::]*/: { /* n:\"BrtBeginSlicerStyles\", */ T:1 },\n\t/*::[*/0x0477/*::]*/: { /* n:\"BrtEndSlicerStyles\", */ T:-1 },\n\t/*::[*/0x0478/*::]*/: { /* n:\"BrtBeginSlicerStyleElements\", */ T:1 },\n\t/*::[*/0x0479/*::]*/: { /* n:\"BrtEndSlicerStyleElements\", */ T:-1 },\n\t/*::[*/0x047A/*::]*/: { /* n:\"BrtCFRuleExt\" */ },\n\t/*::[*/0x047B/*::]*/: { /* n:\"BrtBeginSXCondFmt14\", */ T:1 },\n\t/*::[*/0x047C/*::]*/: { /* n:\"BrtEndSXCondFmt14\", */ T:-1 },\n\t/*::[*/0x047D/*::]*/: { /* n:\"BrtBeginSXCondFmts14\", */ T:1 },\n\t/*::[*/0x047E/*::]*/: { /* n:\"BrtEndSXCondFmts14\", */ T:-1 },\n\t/*::[*/0x0480/*::]*/: { /* n:\"BrtBeginSortCond14\", */ T:1 },\n\t/*::[*/0x0481/*::]*/: { /* n:\"BrtEndSortCond14\", */ T:-1 },\n\t/*::[*/0x0482/*::]*/: { /* n:\"BrtEndDVals14\", */ T:-1 },\n\t/*::[*/0x0483/*::]*/: { /* n:\"BrtEndIconSet14\", */ T:-1 },\n\t/*::[*/0x0484/*::]*/: { /* n:\"BrtEndDatabar14\", */ T:-1 },\n\t/*::[*/0x0485/*::]*/: { /* n:\"BrtBeginColorScale14\", */ T:1 },\n\t/*::[*/0x0486/*::]*/: { /* n:\"BrtEndColorScale14\", */ T:-1 },\n\t/*::[*/0x0487/*::]*/: { /* n:\"BrtBeginSxrules14\", */ T:1 },\n\t/*::[*/0x0488/*::]*/: { /* n:\"BrtEndSxrules14\", */ T:-1 },\n\t/*::[*/0x0489/*::]*/: { /* n:\"BrtBeginPRule14\", */ T:1 },\n\t/*::[*/0x048A/*::]*/: { /* n:\"BrtEndPRule14\", */ T:-1 },\n\t/*::[*/0x048B/*::]*/: { /* n:\"BrtBeginPRFilters14\", */ T:1 },\n\t/*::[*/0x048C/*::]*/: { /* n:\"BrtEndPRFilters14\", */ T:-1 },\n\t/*::[*/0x048D/*::]*/: { /* n:\"BrtBeginPRFilter14\", */ T:1 },\n\t/*::[*/0x048E/*::]*/: { /* n:\"BrtEndPRFilter14\", */ T:-1 },\n\t/*::[*/0x048F/*::]*/: { /* n:\"BrtBeginPRFItem14\", */ T:1 },\n\t/*::[*/0x0490/*::]*/: { /* n:\"BrtEndPRFItem14\", */ T:-1 },\n\t/*::[*/0x0491/*::]*/: { /* n:\"BrtBeginCellIgnoreECs14\", */ T:1 },\n\t/*::[*/0x0492/*::]*/: { /* n:\"BrtEndCellIgnoreECs14\", */ T:-1 },\n\t/*::[*/0x0493/*::]*/: { /* n:\"BrtDxf14\" */ },\n\t/*::[*/0x0494/*::]*/: { /* n:\"BrtBeginDxF14s\", */ T:1 },\n\t/*::[*/0x0495/*::]*/: { /* n:\"BrtEndDxf14s\", */ T:-1 },\n\t/*::[*/0x0499/*::]*/: { /* n:\"BrtFilter14\" */ },\n\t/*::[*/0x049A/*::]*/: { /* n:\"BrtBeginCustomFilters14\", */ T:1 },\n\t/*::[*/0x049C/*::]*/: { /* n:\"BrtCustomFilter14\" */ },\n\t/*::[*/0x049D/*::]*/: { /* n:\"BrtIconFilter14\" */ },\n\t/*::[*/0x049E/*::]*/: { /* n:\"BrtPivotCacheConnectionName\" */ },\n\t/*::[*/0x0800/*::]*/: { /* n:\"BrtBeginDecoupledPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0801/*::]*/: { /* n:\"BrtEndDecoupledPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0802/*::]*/: { /* n:\"BrtDecoupledPivotCacheID\" */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"BrtBeginPivotTableRefs\", */ T:1 },\n\t/*::[*/0x0804/*::]*/: { /* n:\"BrtEndPivotTableRefs\", */ T:-1 },\n\t/*::[*/0x0805/*::]*/: { /* n:\"BrtPivotTableRef\" */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"BrtSlicerCacheBookPivotTables\" */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"BrtBeginSxvcells\", */ T:1 },\n\t/*::[*/0x0808/*::]*/: { /* n:\"BrtEndSxvcells\", */ T:-1 },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BrtBeginSxRow\", */ T:1 },\n\t/*::[*/0x080A/*::]*/: { /* n:\"BrtEndSxRow\", */ T:-1 },\n\t/*::[*/0x080C/*::]*/: { /* n:\"BrtPcdCalcMem15\" */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"BrtQsi15\" */ },\n\t/*::[*/0x0814/*::]*/: { /* n:\"BrtBeginWebExtensions\", */ T:1 },\n\t/*::[*/0x0815/*::]*/: { /* n:\"BrtEndWebExtensions\", */ T:-1 },\n\t/*::[*/0x0816/*::]*/: { /* n:\"BrtWebExtension\" */ },\n\t/*::[*/0x0817/*::]*/: { /* n:\"BrtAbsPath15\" */ },\n\t/*::[*/0x0818/*::]*/: { /* n:\"BrtBeginPivotTableUISettings\", */ T:1 },\n\t/*::[*/0x0819/*::]*/: { /* n:\"BrtEndPivotTableUISettings\", */ T:-1 },\n\t/*::[*/0x081B/*::]*/: { /* n:\"BrtTableSlicerCacheIDs\" */ },\n\t/*::[*/0x081C/*::]*/: { /* n:\"BrtTableSlicerCacheID\" */ },\n\t/*::[*/0x081D/*::]*/: { /* n:\"BrtBeginTableSlicerCache\", */ T:1 },\n\t/*::[*/0x081E/*::]*/: { /* n:\"BrtEndTableSlicerCache\", */ T:-1 },\n\t/*::[*/0x081F/*::]*/: { /* n:\"BrtSxFilter15\" */ },\n\t/*::[*/0x0820/*::]*/: { /* n:\"BrtBeginTimelineCachePivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0821/*::]*/: { /* n:\"BrtEndTimelineCachePivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0822/*::]*/: { /* n:\"BrtTimelineCachePivotCacheID\" */ },\n\t/*::[*/0x0823/*::]*/: { /* n:\"BrtBeginTimelineCacheIDs\", */ T:1 },\n\t/*::[*/0x0824/*::]*/: { /* n:\"BrtEndTimelineCacheIDs\", */ T:-1 },\n\t/*::[*/0x0825/*::]*/: { /* n:\"BrtBeginTimelineCacheID\", */ T:1 },\n\t/*::[*/0x0826/*::]*/: { /* n:\"BrtEndTimelineCacheID\", */ T:-1 },\n\t/*::[*/0x0827/*::]*/: { /* n:\"BrtBeginTimelinesEx\", */ T:1 },\n\t/*::[*/0x0828/*::]*/: { /* n:\"BrtEndTimelinesEx\", */ T:-1 },\n\t/*::[*/0x0829/*::]*/: { /* n:\"BrtBeginTimelineEx\", */ T:1 },\n\t/*::[*/0x082A/*::]*/: { /* n:\"BrtEndTimelineEx\", */ T:-1 },\n\t/*::[*/0x082B/*::]*/: { /* n:\"BrtWorkBookPr15\" */ },\n\t/*::[*/0x082C/*::]*/: { /* n:\"BrtPCDH15\" */ },\n\t/*::[*/0x082D/*::]*/: { /* n:\"BrtBeginTimelineStyle\", */ T:1 },\n\t/*::[*/0x082E/*::]*/: { /* n:\"BrtEndTimelineStyle\", */ T:-1 },\n\t/*::[*/0x082F/*::]*/: { /* n:\"BrtTimelineStyleElement\" */ },\n\t/*::[*/0x0830/*::]*/: { /* n:\"BrtBeginTimelineStylesheetExt15\", */ T:1 },\n\t/*::[*/0x0831/*::]*/: { /* n:\"BrtEndTimelineStylesheetExt15\", */ T:-1 },\n\t/*::[*/0x0832/*::]*/: { /* n:\"BrtBeginTimelineStyles\", */ T:1 },\n\t/*::[*/0x0833/*::]*/: { /* n:\"BrtEndTimelineStyles\", */ T:-1 },\n\t/*::[*/0x0834/*::]*/: { /* n:\"BrtBeginTimelineStyleElements\", */ T:1 },\n\t/*::[*/0x0835/*::]*/: { /* n:\"BrtEndTimelineStyleElements\", */ T:-1 },\n\t/*::[*/0x0836/*::]*/: { /* n:\"BrtDxf15\" */ },\n\t/*::[*/0x0837/*::]*/: { /* n:\"BrtBeginDxfs15\", */ T:1 },\n\t/*::[*/0x0838/*::]*/: { /* n:\"BrtEndDxfs15\", */ T:-1 },\n\t/*::[*/0x0839/*::]*/: { /* n:\"BrtSlicerCacheHideItemsWithNoData\" */ },\n\t/*::[*/0x083A/*::]*/: { /* n:\"BrtBeginItemUniqueNames\", */ T:1 },\n\t/*::[*/0x083B/*::]*/: { /* n:\"BrtEndItemUniqueNames\", */ T:-1 },\n\t/*::[*/0x083C/*::]*/: { /* n:\"BrtItemUniqueName\" */ },\n\t/*::[*/0x083D/*::]*/: { /* n:\"BrtBeginExtConn15\", */ T:1 },\n\t/*::[*/0x083E/*::]*/: { /* n:\"BrtEndExtConn15\", */ T:-1 },\n\t/*::[*/0x083F/*::]*/: { /* n:\"BrtBeginOledbPr15\", */ T:1 },\n\t/*::[*/0x0840/*::]*/: { /* n:\"BrtEndOledbPr15\", */ T:-1 },\n\t/*::[*/0x0841/*::]*/: { /* n:\"BrtBeginDataFeedPr15\", */ T:1 },\n\t/*::[*/0x0842/*::]*/: { /* n:\"BrtEndDataFeedPr15\", */ T:-1 },\n\t/*::[*/0x0843/*::]*/: { /* n:\"BrtTextPr15\" */ },\n\t/*::[*/0x0844/*::]*/: { /* n:\"BrtRangePr15\" */ },\n\t/*::[*/0x0845/*::]*/: { /* n:\"BrtDbCommand15\" */ },\n\t/*::[*/0x0846/*::]*/: { /* n:\"BrtBeginDbTables15\", */ T:1 },\n\t/*::[*/0x0847/*::]*/: { /* n:\"BrtEndDbTables15\", */ T:-1 },\n\t/*::[*/0x0848/*::]*/: { /* n:\"BrtDbTable15\" */ },\n\t/*::[*/0x0849/*::]*/: { /* n:\"BrtBeginDataModel\", */ T:1 },\n\t/*::[*/0x084A/*::]*/: { /* n:\"BrtEndDataModel\", */ T:-1 },\n\t/*::[*/0x084B/*::]*/: { /* n:\"BrtBeginModelTables\", */ T:1 },\n\t/*::[*/0x084C/*::]*/: { /* n:\"BrtEndModelTables\", */ T:-1 },\n\t/*::[*/0x084D/*::]*/: { /* n:\"BrtModelTable\" */ },\n\t/*::[*/0x084E/*::]*/: { /* n:\"BrtBeginModelRelationships\", */ T:1 },\n\t/*::[*/0x084F/*::]*/: { /* n:\"BrtEndModelRelationships\", */ T:-1 },\n\t/*::[*/0x0850/*::]*/: { /* n:\"BrtModelRelationship\" */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"BrtBeginECTxtWiz15\", */ T:1 },\n\t/*::[*/0x0852/*::]*/: { /* n:\"BrtEndECTxtWiz15\", */ T:-1 },\n\t/*::[*/0x0853/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst15\", */ T:1 },\n\t/*::[*/0x0854/*::]*/: { /* n:\"BrtEndECTWFldInfoLst15\", */ T:-1 },\n\t/*::[*/0x0855/*::]*/: { /* n:\"BrtBeginECTWFldInfo15\", */ T:1 },\n\t/*::[*/0x0856/*::]*/: { /* n:\"BrtFieldListActiveItem\" */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"BrtPivotCacheIdVersion\" */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"BrtSXDI15\" */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"BrtBeginModelTimeGroupings\", */ T:1 },\n\t/*::[*/0x085A/*::]*/: { /* n:\"BrtEndModelTimeGroupings\", */ T:-1 },\n\t/*::[*/0x085B/*::]*/: { /* n:\"BrtBeginModelTimeGrouping\", */ T:1 },\n\t/*::[*/0x085C/*::]*/: { /* n:\"BrtEndModelTimeGrouping\", */ T:-1 },\n\t/*::[*/0x085D/*::]*/: { /* n:\"BrtModelTimeGroupingCalcCol\" */ },\n\t/*::[*/0x0C00/*::]*/: { /* n:\"BrtUid\" */ },\n\t/*::[*/0x0C01/*::]*/: { /* n:\"BrtRevisionPtr\" */ },\n\t/*::[*/0x1000/*::]*/: { /* n:\"BrtBeginDynamicArrayPr\", */ T:1 },\n\t/*::[*/0x1001/*::]*/: { /* n:\"BrtEndDynamicArrayPr\", */ T:-1 },\n\t/*::[*/0x138A/*::]*/: { /* n:\"BrtBeginRichValueBlock\", */ T:1 },\n\t/*::[*/0x138B/*::]*/: { /* n:\"BrtEndRichValueBlock\", */ T:-1 },\n\t/*::[*/0x13D9/*::]*/: { /* n:\"BrtBeginRichFilters\", */ T:1 },\n\t/*::[*/0x13DA/*::]*/: { /* n:\"BrtEndRichFilters\", */ T:-1 },\n\t/*::[*/0x13DB/*::]*/: { /* n:\"BrtRichFilter\" */ },\n\t/*::[*/0x13DC/*::]*/: { /* n:\"BrtBeginRichFilterColumn\", */ T:1 },\n\t/*::[*/0x13DD/*::]*/: { /* n:\"BrtEndRichFilterColumn\", */ T:-1 },\n\t/*::[*/0x13DE/*::]*/: { /* n:\"BrtBeginCustomRichFilters\", */ T:1 },\n\t/*::[*/0x13DF/*::]*/: { /* n:\"BrtEndCustomRichFilters\", */ T:-1 },\n\t/*::[*/0x13E0/*::]*/: { /* n:\"BrtCustomRichFilter\" */ },\n\t/*::[*/0x13E1/*::]*/: { /* n:\"BrtTop10RichFilter\" */ },\n\t/*::[*/0x13E2/*::]*/: { /* n:\"BrtDynamicRichFilter\" */ },\n\t/*::[*/0x13E4/*::]*/: { /* n:\"BrtBeginRichSortCondition\", */ T:1 },\n\t/*::[*/0x13E5/*::]*/: { /* n:\"BrtEndRichSortCondition\", */ T:-1 },\n\t/*::[*/0x13E6/*::]*/: { /* n:\"BrtRichFilterDateGroupItem\" */ },\n\t/*::[*/0x13E7/*::]*/: { /* n:\"BrtBeginCalcFeatures\", */ T:1 },\n\t/*::[*/0x13E8/*::]*/: { /* n:\"BrtEndCalcFeatures\", */ T:-1 },\n\t/*::[*/0x13E9/*::]*/: { /* n:\"BrtCalcFeature\" */ },\n\t/*::[*/0x13EB/*::]*/: { /* n:\"BrtExternalLinksPr\" */ },\n\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n};\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n\t/*::[*/0x0006/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x000a/*::]*/: { /* n:\"EOF\", */ f:parsenoop2 },\n\t/*::[*/0x000c/*::]*/: { /* n:\"CalcCount\", */ f:parseuint16 }, //\n\t/*::[*/0x000d/*::]*/: { /* n:\"CalcMode\", */ f:parseuint16 }, //\n\t/*::[*/0x000e/*::]*/: { /* n:\"CalcPrecision\", */ f:parsebool }, //\n\t/*::[*/0x000f/*::]*/: { /* n:\"CalcRefMode\", */ f:parsebool }, //\n\t/*::[*/0x0010/*::]*/: { /* n:\"CalcDelta\", */ f:parse_Xnum }, //\n\t/*::[*/0x0011/*::]*/: { /* n:\"CalcIter\", */ f:parsebool }, //\n\t/*::[*/0x0012/*::]*/: { /* n:\"Protect\", */ f:parsebool },\n\t/*::[*/0x0013/*::]*/: { /* n:\"Password\", */ f:parseuint16 },\n\t/*::[*/0x0014/*::]*/: { /* n:\"Header\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0015/*::]*/: { /* n:\"Footer\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0017/*::]*/: { /* n:\"ExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x0018/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0019/*::]*/: { /* n:\"WinProtect\", */ f:parsebool },\n\t/*::[*/0x001a/*::]*/: { /* n:\"VerticalPageBreaks\", */ },\n\t/*::[*/0x001b/*::]*/: { /* n:\"HorizontalPageBreaks\", */ },\n\t/*::[*/0x001c/*::]*/: { /* n:\"Note\", */ f:parse_Note },\n\t/*::[*/0x001d/*::]*/: { /* n:\"Selection\", */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"Date1904\", */ f:parsebool },\n\t/*::[*/0x0023/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0026/*::]*/: { /* n:\"LeftMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0027/*::]*/: { /* n:\"RightMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0028/*::]*/: { /* n:\"TopMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0029/*::]*/: { /* n:\"BottomMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x002a/*::]*/: { /* n:\"PrintRowCol\", */ f:parsebool },\n\t/*::[*/0x002b/*::]*/: { /* n:\"PrintGrid\", */ f:parsebool },\n\t/*::[*/0x002f/*::]*/: { /* n:\"FilePass\", */ f:parse_FilePass },\n\t/*::[*/0x0031/*::]*/: { /* n:\"Font\", */ f:parse_Font },\n\t/*::[*/0x0033/*::]*/: { /* n:\"PrintSize\", */ f:parseuint16 },\n\t/*::[*/0x003c/*::]*/: { /* n:\"Continue\", */ },\n\t/*::[*/0x003d/*::]*/: { /* n:\"Window1\", */ f:parse_Window1 },\n\t/*::[*/0x0040/*::]*/: { /* n:\"Backup\", */ f:parsebool },\n\t/*::[*/0x0041/*::]*/: { /* n:\"Pane\", */ f:parse_Pane },\n\t/*::[*/0x0042/*::]*/: { /* n:\"CodePage\", */ f:parseuint16 },\n\t/*::[*/0x004d/*::]*/: { /* n:\"Pls\", */ },\n\t/*::[*/0x0050/*::]*/: { /* n:\"DCon\", */ },\n\t/*::[*/0x0051/*::]*/: { /* n:\"DConRef\", */ },\n\t/*::[*/0x0052/*::]*/: { /* n:\"DConName\", */ },\n\t/*::[*/0x0055/*::]*/: { /* n:\"DefColWidth\", */ f:parseuint16 },\n\t/*::[*/0x0059/*::]*/: { /* n:\"XCT\", */ },\n\t/*::[*/0x005a/*::]*/: { /* n:\"CRN\", */ },\n\t/*::[*/0x005b/*::]*/: { /* n:\"FileSharing\", */ },\n\t/*::[*/0x005c/*::]*/: { /* n:\"WriteAccess\", */ f:parse_WriteAccess },\n\t/*::[*/0x005d/*::]*/: { /* n:\"Obj\", */ f:parse_Obj },\n\t/*::[*/0x005e/*::]*/: { /* n:\"Uncalced\", */ },\n\t/*::[*/0x005f/*::]*/: { /* n:\"CalcSaveRecalc\", */ f:parsebool }, //\n\t/*::[*/0x0060/*::]*/: { /* n:\"Template\", */ },\n\t/*::[*/0x0061/*::]*/: { /* n:\"Intl\", */ },\n\t/*::[*/0x0063/*::]*/: { /* n:\"ObjProtect\", */ f:parsebool },\n\t/*::[*/0x007d/*::]*/: { /* n:\"ColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x0080/*::]*/: { /* n:\"Guts\", */ f:parse_Guts },\n\t/*::[*/0x0081/*::]*/: { /* n:\"WsBool\", */ f:parse_WsBool },\n\t/*::[*/0x0082/*::]*/: { /* n:\"GridSet\", */ f:parseuint16 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"HCenter\", */ f:parsebool },\n\t/*::[*/0x0084/*::]*/: { /* n:\"VCenter\", */ f:parsebool },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BoundSheet8\", */ f:parse_BoundSheet8 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"WriteProtect\", */ },\n\t/*::[*/0x008c/*::]*/: { /* n:\"Country\", */ f:parse_Country },\n\t/*::[*/0x008d/*::]*/: { /* n:\"HideObj\", */ f:parseuint16 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"Sort\", */ },\n\t/*::[*/0x0092/*::]*/: { /* n:\"Palette\", */ f:parse_Palette },\n\t/*::[*/0x0097/*::]*/: { /* n:\"Sync\", */ },\n\t/*::[*/0x0098/*::]*/: { /* n:\"LPr\", */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"DxGCol\", */ },\n\t/*::[*/0x009a/*::]*/: { /* n:\"FnGroupName\", */ },\n\t/*::[*/0x009b/*::]*/: { /* n:\"FilterMode\", */ },\n\t/*::[*/0x009c/*::]*/: { /* n:\"BuiltInFnGroupCount\", */ f:parseuint16 },\n\t/*::[*/0x009d/*::]*/: { /* n:\"AutoFilterInfo\", */ },\n\t/*::[*/0x009e/*::]*/: { /* n:\"AutoFilter\", */ },\n\t/*::[*/0x00a0/*::]*/: { /* n:\"Scl\", */ f:parse_Scl },\n\t/*::[*/0x00a1/*::]*/: { /* n:\"Setup\", */ f:parse_Setup },\n\t/*::[*/0x00ae/*::]*/: { /* n:\"ScenMan\", */ },\n\t/*::[*/0x00af/*::]*/: { /* n:\"SCENARIO\", */ },\n\t/*::[*/0x00b0/*::]*/: { /* n:\"SxView\", */ },\n\t/*::[*/0x00b1/*::]*/: { /* n:\"Sxvd\", */ },\n\t/*::[*/0x00b2/*::]*/: { /* n:\"SXVI\", */ },\n\t/*::[*/0x00b4/*::]*/: { /* n:\"SxIvd\", */ },\n\t/*::[*/0x00b5/*::]*/: { /* n:\"SXLI\", */ },\n\t/*::[*/0x00b6/*::]*/: { /* n:\"SXPI\", */ },\n\t/*::[*/0x00b8/*::]*/: { /* n:\"DocRoute\", */ },\n\t/*::[*/0x00b9/*::]*/: { /* n:\"RecipName\", */ },\n\t/*::[*/0x00bd/*::]*/: { /* n:\"MulRk\", */ f:parse_MulRk },\n\t/*::[*/0x00be/*::]*/: { /* n:\"MulBlank\", */ f:parse_MulBlank },\n\t/*::[*/0x00c1/*::]*/: { /* n:\"Mms\", */ f:parsenoop2 },\n\t/*::[*/0x00c5/*::]*/: { /* n:\"SXDI\", */ },\n\t/*::[*/0x00c6/*::]*/: { /* n:\"SXDB\", */ },\n\t/*::[*/0x00c7/*::]*/: { /* n:\"SXFDB\", */ },\n\t/*::[*/0x00c8/*::]*/: { /* n:\"SXDBB\", */ },\n\t/*::[*/0x00c9/*::]*/: { /* n:\"SXNum\", */ },\n\t/*::[*/0x00ca/*::]*/: { /* n:\"SxBool\", */ f:parsebool },\n\t/*::[*/0x00cb/*::]*/: { /* n:\"SxErr\", */ },\n\t/*::[*/0x00cc/*::]*/: { /* n:\"SXInt\", */ },\n\t/*::[*/0x00cd/*::]*/: { /* n:\"SXString\", */ },\n\t/*::[*/0x00ce/*::]*/: { /* n:\"SXDtr\", */ },\n\t/*::[*/0x00cf/*::]*/: { /* n:\"SxNil\", */ },\n\t/*::[*/0x00d0/*::]*/: { /* n:\"SXTbl\", */ },\n\t/*::[*/0x00d1/*::]*/: { /* n:\"SXTBRGIITM\", */ },\n\t/*::[*/0x00d2/*::]*/: { /* n:\"SxTbpg\", */ },\n\t/*::[*/0x00d3/*::]*/: { /* n:\"ObProj\", */ },\n\t/*::[*/0x00d5/*::]*/: { /* n:\"SXStreamID\", */ },\n\t/*::[*/0x00d7/*::]*/: { /* n:\"DBCell\", */ },\n\t/*::[*/0x00d8/*::]*/: { /* n:\"SXRng\", */ },\n\t/*::[*/0x00d9/*::]*/: { /* n:\"SxIsxoper\", */ },\n\t/*::[*/0x00da/*::]*/: { /* n:\"BookBool\", */ f:parseuint16 },\n\t/*::[*/0x00dc/*::]*/: { /* n:\"DbOrParamQry\", */ },\n\t/*::[*/0x00dd/*::]*/: { /* n:\"ScenarioProtect\", */ f:parsebool },\n\t/*::[*/0x00de/*::]*/: { /* n:\"OleObjectSize\", */ },\n\t/*::[*/0x00e0/*::]*/: { /* n:\"XF\", */ f:parse_XF },\n\t/*::[*/0x00e1/*::]*/: { /* n:\"InterfaceHdr\", */ f:parse_InterfaceHdr },\n\t/*::[*/0x00e2/*::]*/: { /* n:\"InterfaceEnd\", */ f:parsenoop2 },\n\t/*::[*/0x00e3/*::]*/: { /* n:\"SXVS\", */ },\n\t/*::[*/0x00e5/*::]*/: { /* n:\"MergeCells\", */ f:parse_MergeCells },\n\t/*::[*/0x00e9/*::]*/: { /* n:\"BkHim\", */ },\n\t/*::[*/0x00eb/*::]*/: { /* n:\"MsoDrawingGroup\", */ },\n\t/*::[*/0x00ec/*::]*/: { /* n:\"MsoDrawing\", */ },\n\t/*::[*/0x00ed/*::]*/: { /* n:\"MsoDrawingSelection\", */ },\n\t/*::[*/0x00ef/*::]*/: { /* n:\"PhoneticInfo\", */ },\n\t/*::[*/0x00f0/*::]*/: { /* n:\"SxRule\", */ },\n\t/*::[*/0x00f1/*::]*/: { /* n:\"SXEx\", */ },\n\t/*::[*/0x00f2/*::]*/: { /* n:\"SxFilt\", */ },\n\t/*::[*/0x00f4/*::]*/: { /* n:\"SxDXF\", */ },\n\t/*::[*/0x00f5/*::]*/: { /* n:\"SxItm\", */ },\n\t/*::[*/0x00f6/*::]*/: { /* n:\"SxName\", */ },\n\t/*::[*/0x00f7/*::]*/: { /* n:\"SxSelect\", */ },\n\t/*::[*/0x00f8/*::]*/: { /* n:\"SXPair\", */ },\n\t/*::[*/0x00f9/*::]*/: { /* n:\"SxFmla\", */ },\n\t/*::[*/0x00fb/*::]*/: { /* n:\"SxFormat\", */ },\n\t/*::[*/0x00fc/*::]*/: { /* n:\"SST\", */ f:parse_SST },\n\t/*::[*/0x00fd/*::]*/: { /* n:\"LabelSst\", */ f:parse_LabelSst },\n\t/*::[*/0x00ff/*::]*/: { /* n:\"ExtSST\", */ f:parse_ExtSST },\n\t/*::[*/0x0100/*::]*/: { /* n:\"SXVDEx\", */ },\n\t/*::[*/0x0103/*::]*/: { /* n:\"SXFormula\", */ },\n\t/*::[*/0x0122/*::]*/: { /* n:\"SXDBEx\", */ },\n\t/*::[*/0x0137/*::]*/: { /* n:\"RRDInsDel\", */ },\n\t/*::[*/0x0138/*::]*/: { /* n:\"RRDHead\", */ },\n\t/*::[*/0x013b/*::]*/: { /* n:\"RRDChgCell\", */ },\n\t/*::[*/0x013d/*::]*/: { /* n:\"RRTabId\", */ f:parseuint16a },\n\t/*::[*/0x013e/*::]*/: { /* n:\"RRDRenSheet\", */ },\n\t/*::[*/0x013f/*::]*/: { /* n:\"RRSort\", */ },\n\t/*::[*/0x0140/*::]*/: { /* n:\"RRDMove\", */ },\n\t/*::[*/0x014a/*::]*/: { /* n:\"RRFormat\", */ },\n\t/*::[*/0x014b/*::]*/: { /* n:\"RRAutoFmt\", */ },\n\t/*::[*/0x014d/*::]*/: { /* n:\"RRInsertSh\", */ },\n\t/*::[*/0x014e/*::]*/: { /* n:\"RRDMoveBegin\", */ },\n\t/*::[*/0x014f/*::]*/: { /* n:\"RRDMoveEnd\", */ },\n\t/*::[*/0x0150/*::]*/: { /* n:\"RRDInsDelBegin\", */ },\n\t/*::[*/0x0151/*::]*/: { /* n:\"RRDInsDelEnd\", */ },\n\t/*::[*/0x0152/*::]*/: { /* n:\"RRDConflict\", */ },\n\t/*::[*/0x0153/*::]*/: { /* n:\"RRDDefName\", */ },\n\t/*::[*/0x0154/*::]*/: { /* n:\"RRDRstEtxp\", */ },\n\t/*::[*/0x015f/*::]*/: { /* n:\"LRng\", */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"UsesELFs\", */ f:parsebool },\n\t/*::[*/0x0161/*::]*/: { /* n:\"DSF\", */ f:parsenoop2 },\n\t/*::[*/0x0191/*::]*/: { /* n:\"CUsr\", */ },\n\t/*::[*/0x0192/*::]*/: { /* n:\"CbUsr\", */ },\n\t/*::[*/0x0193/*::]*/: { /* n:\"UsrInfo\", */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"UsrExcl\", */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"FileLock\", */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"RRDInfo\", */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BCUsrs\", */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"UsrChk\", */ },\n\t/*::[*/0x01a9/*::]*/: { /* n:\"UserBView\", */ },\n\t/*::[*/0x01aa/*::]*/: { /* n:\"UserSViewBegin\", */ },\n\t/*::[*/0x01ab/*::]*/: { /* n:\"UserSViewEnd\", */ },\n\t/*::[*/0x01ac/*::]*/: { /* n:\"RRDUserView\", */ },\n\t/*::[*/0x01ad/*::]*/: { /* n:\"Qsi\", */ },\n\t/*::[*/0x01ae/*::]*/: { /* n:\"SupBook\", */ f:parse_SupBook },\n\t/*::[*/0x01af/*::]*/: { /* n:\"Prot4Rev\", */ f:parsebool },\n\t/*::[*/0x01b0/*::]*/: { /* n:\"CondFmt\", */ },\n\t/*::[*/0x01b1/*::]*/: { /* n:\"CF\", */ },\n\t/*::[*/0x01b2/*::]*/: { /* n:\"DVal\", */ },\n\t/*::[*/0x01b5/*::]*/: { /* n:\"DConBin\", */ },\n\t/*::[*/0x01b6/*::]*/: { /* n:\"TxO\", */ f:parse_TxO },\n\t/*::[*/0x01b7/*::]*/: { /* n:\"RefreshAll\", */ f:parsebool }, //\n\t/*::[*/0x01b8/*::]*/: { /* n:\"HLink\", */ f:parse_HLink },\n\t/*::[*/0x01b9/*::]*/: { /* n:\"Lel\", */ },\n\t/*::[*/0x01ba/*::]*/: { /* n:\"CodeName\", */ f:parse_XLUnicodeString },\n\t/*::[*/0x01bb/*::]*/: { /* n:\"SXFDBType\", */ },\n\t/*::[*/0x01bc/*::]*/: { /* n:\"Prot4RevPass\", */ f:parseuint16 },\n\t/*::[*/0x01bd/*::]*/: { /* n:\"ObNoMacros\", */ },\n\t/*::[*/0x01be/*::]*/: { /* n:\"Dv\", */ },\n\t/*::[*/0x01c0/*::]*/: { /* n:\"Excel9File\", */ f:parsenoop2 },\n\t/*::[*/0x01c1/*::]*/: { /* n:\"RecalcId\", */ f:parse_RecalcId, r:2},\n\t/*::[*/0x01c2/*::]*/: { /* n:\"EntExU2\", */ f:parsenoop2 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0201/*::]*/: { /* n:\"Blank\", */ f:parse_Blank },\n\t/*::[*/0x0203/*::]*/: { /* n:\"Number\", */ f:parse_Number },\n\t/*::[*/0x0204/*::]*/: { /* n:\"Label\", */ f:parse_Label },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0207/*::]*/: { /* n:\"String\", */ f:parse_String },\n\t/*::[*/0x0208/*::]*/: { /* n:\"Row\", */ f:parse_Row },\n\t/*::[*/0x020b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0221/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0225/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t/*::[*/0x0236/*::]*/: { /* n:\"Table\", */ },\n\t/*::[*/0x023e/*::]*/: { /* n:\"Window2\", */ f:parse_Window2 },\n\t/*::[*/0x027e/*::]*/: { /* n:\"RK\", */ f:parse_RK },\n\t/*::[*/0x0293/*::]*/: { /* n:\"Style\", */ },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BigName\", */ },\n\t/*::[*/0x041e/*::]*/: { /* n:\"Format\", */ f:parse_Format },\n\t/*::[*/0x043c/*::]*/: { /* n:\"ContinueBigName\", */ },\n\t/*::[*/0x04bc/*::]*/: { /* n:\"ShrFmla\", */ f:parse_ShrFmla },\n\t/*::[*/0x0800/*::]*/: { /* n:\"HLinkTooltip\", */ f:parse_HLinkTooltip },\n\t/*::[*/0x0801/*::]*/: { /* n:\"WebPub\", */ },\n\t/*::[*/0x0802/*::]*/: { /* n:\"QsiSXTag\", */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"DBQueryExt\", */ },\n\t/*::[*/0x0804/*::]*/: { /* n:\"ExtString\", */ },\n\t/*::[*/0x0805/*::]*/: { /* n:\"TxtQry\", */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"Qsir\", */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"Qsif\", */ },\n\t/*::[*/0x0808/*::]*/: { /* n:\"RRDTQSIF\", */ },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x080a/*::]*/: { /* n:\"OleDbConn\", */ },\n\t/*::[*/0x080b/*::]*/: { /* n:\"WOpt\", */ },\n\t/*::[*/0x080c/*::]*/: { /* n:\"SXViewEx\", */ },\n\t/*::[*/0x080d/*::]*/: { /* n:\"SXTH\", */ },\n\t/*::[*/0x080e/*::]*/: { /* n:\"SXPIEx\", */ },\n\t/*::[*/0x080f/*::]*/: { /* n:\"SXVDTEx\", */ },\n\t/*::[*/0x0810/*::]*/: { /* n:\"SXViewEx9\", */ },\n\t/*::[*/0x0812/*::]*/: { /* n:\"ContinueFrt\", */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"RealTimeData\", */ },\n\t/*::[*/0x0850/*::]*/: { /* n:\"ChartFrtInfo\", */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"FrtWrapper\", */ },\n\t/*::[*/0x0852/*::]*/: { /* n:\"StartBlock\", */ },\n\t/*::[*/0x0853/*::]*/: { /* n:\"EndBlock\", */ },\n\t/*::[*/0x0854/*::]*/: { /* n:\"StartObject\", */ },\n\t/*::[*/0x0855/*::]*/: { /* n:\"EndObject\", */ },\n\t/*::[*/0x0856/*::]*/: { /* n:\"CatLab\", */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"YMult\", */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"SXViewLink\", */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"PivotChartBits\", */ },\n\t/*::[*/0x085a/*::]*/: { /* n:\"FrtFontList\", */ },\n\t/*::[*/0x0862/*::]*/: { /* n:\"SheetExt\", */ },\n\t/*::[*/0x0863/*::]*/: { /* n:\"BookExt\", */ r:12},\n\t/*::[*/0x0864/*::]*/: { /* n:\"SXAddl\", */ },\n\t/*::[*/0x0865/*::]*/: { /* n:\"CrErr\", */ },\n\t/*::[*/0x0866/*::]*/: { /* n:\"HFPicture\", */ },\n\t/*::[*/0x0867/*::]*/: { /* n:\"FeatHdr\", */ f:parsenoop2 },\n\t/*::[*/0x0868/*::]*/: { /* n:\"Feat\", */ },\n\t/*::[*/0x086a/*::]*/: { /* n:\"DataLabExt\", */ },\n\t/*::[*/0x086b/*::]*/: { /* n:\"DataLabExtContents\", */ },\n\t/*::[*/0x086c/*::]*/: { /* n:\"CellWatch\", */ },\n\t/*::[*/0x0871/*::]*/: { /* n:\"FeatHdr11\", */ },\n\t/*::[*/0x0872/*::]*/: { /* n:\"Feature11\", */ },\n\t/*::[*/0x0874/*::]*/: { /* n:\"DropDownObjIds\", */ },\n\t/*::[*/0x0875/*::]*/: { /* n:\"ContinueFrt11\", */ },\n\t/*::[*/0x0876/*::]*/: { /* n:\"DConn\", */ },\n\t/*::[*/0x0877/*::]*/: { /* n:\"List12\", */ },\n\t/*::[*/0x0878/*::]*/: { /* n:\"Feature12\", */ },\n\t/*::[*/0x0879/*::]*/: { /* n:\"CondFmt12\", */ },\n\t/*::[*/0x087a/*::]*/: { /* n:\"CF12\", */ },\n\t/*::[*/0x087b/*::]*/: { /* n:\"CFEx\", */ },\n\t/*::[*/0x087c/*::]*/: { /* n:\"XFCRC\", */ f:parse_XFCRC, r:12 },\n\t/*::[*/0x087d/*::]*/: { /* n:\"XFExt\", */ f:parse_XFExt, r:12 },\n\t/*::[*/0x087e/*::]*/: { /* n:\"AutoFilter12\", */ },\n\t/*::[*/0x087f/*::]*/: { /* n:\"ContinueFrt12\", */ },\n\t/*::[*/0x0884/*::]*/: { /* n:\"MDTInfo\", */ },\n\t/*::[*/0x0885/*::]*/: { /* n:\"MDXStr\", */ },\n\t/*::[*/0x0886/*::]*/: { /* n:\"MDXTuple\", */ },\n\t/*::[*/0x0887/*::]*/: { /* n:\"MDXSet\", */ },\n\t/*::[*/0x0888/*::]*/: { /* n:\"MDXProp\", */ },\n\t/*::[*/0x0889/*::]*/: { /* n:\"MDXKPI\", */ },\n\t/*::[*/0x088a/*::]*/: { /* n:\"MDB\", */ },\n\t/*::[*/0x088b/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x088c/*::]*/: { /* n:\"Compat12\", */ f:parsebool, r:12 },\n\t/*::[*/0x088d/*::]*/: { /* n:\"DXF\", */ },\n\t/*::[*/0x088e/*::]*/: { /* n:\"TableStyles\", */ r:12 },\n\t/*::[*/0x088f/*::]*/: { /* n:\"TableStyle\", */ },\n\t/*::[*/0x0890/*::]*/: { /* n:\"TableStyleElement\", */ },\n\t/*::[*/0x0892/*::]*/: { /* n:\"StyleExt\", */ },\n\t/*::[*/0x0893/*::]*/: { /* n:\"NamePublish\", */ },\n\t/*::[*/0x0894/*::]*/: { /* n:\"NameCmt\", */ f:parse_NameCmt, r:12 },\n\t/*::[*/0x0895/*::]*/: { /* n:\"SortData\", */ },\n\t/*::[*/0x0896/*::]*/: { /* n:\"Theme\", */ f:parse_Theme, r:12 },\n\t/*::[*/0x0897/*::]*/: { /* n:\"GUIDTypeLib\", */ },\n\t/*::[*/0x0898/*::]*/: { /* n:\"FnGrp12\", */ },\n\t/*::[*/0x0899/*::]*/: { /* n:\"NameFnGrp12\", */ },\n\t/*::[*/0x089a/*::]*/: { /* n:\"MTRSettings\", */ f:parse_MTRSettings, r:12 },\n\t/*::[*/0x089b/*::]*/: { /* n:\"CompressPictures\", */ f:parsenoop2 },\n\t/*::[*/0x089c/*::]*/: { /* n:\"HeaderFooter\", */ },\n\t/*::[*/0x089d/*::]*/: { /* n:\"CrtLayout12\", */ },\n\t/*::[*/0x089e/*::]*/: { /* n:\"CrtMlFrt\", */ },\n\t/*::[*/0x089f/*::]*/: { /* n:\"CrtMlFrtContinue\", */ },\n\t/*::[*/0x08a3/*::]*/: { /* n:\"ForceFullCalculation\", */ f:parse_ForceFullCalculation },\n\t/*::[*/0x08a4/*::]*/: { /* n:\"ShapePropsStream\", */ },\n\t/*::[*/0x08a5/*::]*/: { /* n:\"TextPropsStream\", */ },\n\t/*::[*/0x08a6/*::]*/: { /* n:\"RichTextStream\", */ },\n\t/*::[*/0x08a7/*::]*/: { /* n:\"CrtLayout12A\", */ },\n\t/*::[*/0x1001/*::]*/: { /* n:\"Units\", */ },\n\t/*::[*/0x1002/*::]*/: { /* n:\"Chart\", */ },\n\t/*::[*/0x1003/*::]*/: { /* n:\"Series\", */ },\n\t/*::[*/0x1006/*::]*/: { /* n:\"DataFormat\", */ },\n\t/*::[*/0x1007/*::]*/: { /* n:\"LineFormat\", */ },\n\t/*::[*/0x1009/*::]*/: { /* n:\"MarkerFormat\", */ },\n\t/*::[*/0x100a/*::]*/: { /* n:\"AreaFormat\", */ },\n\t/*::[*/0x100b/*::]*/: { /* n:\"PieFormat\", */ },\n\t/*::[*/0x100c/*::]*/: { /* n:\"AttachedLabel\", */ },\n\t/*::[*/0x100d/*::]*/: { /* n:\"SeriesText\", */ },\n\t/*::[*/0x1014/*::]*/: { /* n:\"ChartFormat\", */ },\n\t/*::[*/0x1015/*::]*/: { /* n:\"Legend\", */ },\n\t/*::[*/0x1016/*::]*/: { /* n:\"SeriesList\", */ },\n\t/*::[*/0x1017/*::]*/: { /* n:\"Bar\", */ },\n\t/*::[*/0x1018/*::]*/: { /* n:\"Line\", */ },\n\t/*::[*/0x1019/*::]*/: { /* n:\"Pie\", */ },\n\t/*::[*/0x101a/*::]*/: { /* n:\"Area\", */ },\n\t/*::[*/0x101b/*::]*/: { /* n:\"Scatter\", */ },\n\t/*::[*/0x101c/*::]*/: { /* n:\"CrtLine\", */ },\n\t/*::[*/0x101d/*::]*/: { /* n:\"Axis\", */ },\n\t/*::[*/0x101e/*::]*/: { /* n:\"Tick\", */ },\n\t/*::[*/0x101f/*::]*/: { /* n:\"ValueRange\", */ },\n\t/*::[*/0x1020/*::]*/: { /* n:\"CatSerRange\", */ },\n\t/*::[*/0x1021/*::]*/: { /* n:\"AxisLine\", */ },\n\t/*::[*/0x1022/*::]*/: { /* n:\"CrtLink\", */ },\n\t/*::[*/0x1024/*::]*/: { /* n:\"DefaultText\", */ },\n\t/*::[*/0x1025/*::]*/: { /* n:\"Text\", */ },\n\t/*::[*/0x1026/*::]*/: { /* n:\"FontX\", */ f:parseuint16 },\n\t/*::[*/0x1027/*::]*/: { /* n:\"ObjectLink\", */ },\n\t/*::[*/0x1032/*::]*/: { /* n:\"Frame\", */ },\n\t/*::[*/0x1033/*::]*/: { /* n:\"Begin\", */ },\n\t/*::[*/0x1034/*::]*/: { /* n:\"End\", */ },\n\t/*::[*/0x1035/*::]*/: { /* n:\"PlotArea\", */ },\n\t/*::[*/0x103a/*::]*/: { /* n:\"Chart3d\", */ },\n\t/*::[*/0x103c/*::]*/: { /* n:\"PicF\", */ },\n\t/*::[*/0x103d/*::]*/: { /* n:\"DropBar\", */ },\n\t/*::[*/0x103e/*::]*/: { /* n:\"Radar\", */ },\n\t/*::[*/0x103f/*::]*/: { /* n:\"Surf\", */ },\n\t/*::[*/0x1040/*::]*/: { /* n:\"RadarArea\", */ },\n\t/*::[*/0x1041/*::]*/: { /* n:\"AxisParent\", */ },\n\t/*::[*/0x1043/*::]*/: { /* n:\"LegendException\", */ },\n\t/*::[*/0x1044/*::]*/: { /* n:\"ShtProps\", */ f:parse_ShtProps },\n\t/*::[*/0x1045/*::]*/: { /* n:\"SerToCrt\", */ },\n\t/*::[*/0x1046/*::]*/: { /* n:\"AxesUsed\", */ },\n\t/*::[*/0x1048/*::]*/: { /* n:\"SBaseRef\", */ },\n\t/*::[*/0x104a/*::]*/: { /* n:\"SerParent\", */ },\n\t/*::[*/0x104b/*::]*/: { /* n:\"SerAuxTrend\", */ },\n\t/*::[*/0x104e/*::]*/: { /* n:\"IFmtRecord\", */ },\n\t/*::[*/0x104f/*::]*/: { /* n:\"Pos\", */ },\n\t/*::[*/0x1050/*::]*/: { /* n:\"AlRuns\", */ },\n\t/*::[*/0x1051/*::]*/: { /* n:\"BRAI\", */ },\n\t/*::[*/0x105b/*::]*/: { /* n:\"SerAuxErrBar\", */ },\n\t/*::[*/0x105c/*::]*/: { /* n:\"ClrtClient\", */ f:parse_ClrtClient },\n\t/*::[*/0x105d/*::]*/: { /* n:\"SerFmt\", */ },\n\t/*::[*/0x105f/*::]*/: { /* n:\"Chart3DBarShape\", */ },\n\t/*::[*/0x1060/*::]*/: { /* n:\"Fbi\", */ },\n\t/*::[*/0x1061/*::]*/: { /* n:\"BopPop\", */ },\n\t/*::[*/0x1062/*::]*/: { /* n:\"AxcExt\", */ },\n\t/*::[*/0x1063/*::]*/: { /* n:\"Dat\", */ },\n\t/*::[*/0x1064/*::]*/: { /* n:\"PlotGrowth\", */ },\n\t/*::[*/0x1065/*::]*/: { /* n:\"SIIndex\", */ },\n\t/*::[*/0x1066/*::]*/: { /* n:\"GelFrame\", */ },\n\t/*::[*/0x1067/*::]*/: { /* n:\"BopPopCustom\", */ },\n\t/*::[*/0x1068/*::]*/: { /* n:\"Fbi2\", */ },\n\n\t/*::[*/0x0000/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BIFF2BLANK\", */ },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BIFF2INT\", */ f:parse_BIFF2INT },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BIFF2NUM\", */ f:parse_BIFF2NUM },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BIFF2STR\", */ f:parse_BIFF2STR },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0007/*::]*/: { /* n:\"String\", */ f:parse_BIFF2STRING },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BIFF2ROW\", */ },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x000b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"ExternCount\", */ f:parseuint16 },\n\t/*::[*/0x001e/*::]*/: { /* n:\"BIFF2FORMAT\", */ f:parse_BIFF2Format },\n\t/*::[*/0x001f/*::]*/: { /* n:\"BIFF2FMTCNT\", */ }, /* 16-bit cnt of BIFF2FORMAT records */\n\t/*::[*/0x0020/*::]*/: { /* n:\"BIFF2COLINFO\", */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0024/*::]*/: { /* n:\"COLWIDTH\", */ },\n\t/*::[*/0x0025/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t// 0x2c ??\n\t// 0x2d ??\n\t// 0x2e ??\n\t// 0x30 FONTCOUNT: number of fonts\n\t/*::[*/0x0032/*::]*/: { /* n:\"BIFF2FONTXTRA\", */ f:parse_BIFF2FONTXTRA },\n\t// 0x35: INFOOPTS\n\t// 0x36: TABLE (BIFF2 only)\n\t// 0x37: TABLE2 (BIFF2 only)\n\t// 0x38: WNDESK\n\t// 0x39 ??\n\t// 0x3a: BEGINPREF\n\t// 0x3b: ENDPREF\n\t/*::[*/0x003e/*::]*/: { /* n:\"BIFF2WINDOW2\", */ },\n\t// 0x3f ??\n\t// 0x46: SHOWSCROLL\n\t// 0x47: SHOWFORMULA\n\t// 0x48: STATUSBAR\n\t// 0x49: SHORTMENUS\n\t// 0x4A:\n\t// 0x4B:\n\t// 0x4C:\n\t// 0x4E:\n\t// 0x4F:\n\t// 0x58: TOOLBAR (BIFF3)\n\n\t/* - - - */\n\t/*::[*/0x0034/*::]*/: { /* n:\"DDEObjName\", */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BIFF2XF\", */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BIFF2XFINDEX\", */ f:parseuint16 },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BIFF2FONTCLR\", */ },\n\t/*::[*/0x0056/*::]*/: { /* n:\"BIFF4FMTCNT\", */ }, /* 16-bit cnt, similar to BIFF2 */\n\t/*::[*/0x007e/*::]*/: { /* n:\"RK\", */ }, /* Not necessarily same as 0x027e */\n\t/*::[*/0x007f/*::]*/: { /* n:\"ImData\", */ f:parse_ImData },\n\t/*::[*/0x0087/*::]*/: { /* n:\"Addin\", */ },\n\t/*::[*/0x0088/*::]*/: { /* n:\"Edg\", */ },\n\t/*::[*/0x0089/*::]*/: { /* n:\"Pub\", */ },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t// 0x8F\n\t/*::[*/0x0091/*::]*/: { /* n:\"Sub\", */ },\n\t// 0x93 STYLE\n\t/*::[*/0x0094/*::]*/: { /* n:\"LHRecord\", */ },\n\t/*::[*/0x0095/*::]*/: { /* n:\"LHNGraph\", */ },\n\t/*::[*/0x0096/*::]*/: { /* n:\"Sound\", */ },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n\t/*::[*/0x00a9/*::]*/: { /* n:\"CoordList\", */ },\n\t/*::[*/0x00ab/*::]*/: { /* n:\"GCW\", */ },\n\t/*::[*/0x00bc/*::]*/: { /* n:\"ShrFmla\", */ }, /* Not necessarily same as 0x04bc */\n\t/*::[*/0x00bf/*::]*/: { /* n:\"ToolbarHdr\", */ },\n\t/*::[*/0x00c0/*::]*/: { /* n:\"ToolbarEnd\", */ },\n\t/*::[*/0x00c2/*::]*/: { /* n:\"AddMenu\", */ },\n\t/*::[*/0x00c3/*::]*/: { /* n:\"DelMenu\", */ },\n\t/*::[*/0x00d6/*::]*/: { /* n:\"RString\", */ f:parse_RString },\n\t/*::[*/0x00df/*::]*/: { /* n:\"UDDesc\", */ },\n\t/*::[*/0x00ea/*::]*/: { /* n:\"TabIdConf\", */ },\n\t/*::[*/0x0162/*::]*/: { /* n:\"XL5Modify\", */ },\n\t/*::[*/0x01a5/*::]*/: { /* n:\"FileSharing2\", */ },\n\t/*::[*/0x0206/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0218/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0223/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0231/*::]*/: { /* n:\"Font\", */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BIFF3XF\", */ },\n\t/*::[*/0x0406/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BIFF4XF\", */ },\n\t/*::[*/0x086d/*::]*/: { /* n:\"FeatInfo\", */ },\n\t/*::[*/0x0873/*::]*/: { /* n:\"FeatInfo11\", */ },\n\t/*::[*/0x0881/*::]*/: { /* n:\"SXAddl12\", */ },\n\t/*::[*/0x08c0/*::]*/: { /* n:\"AutoWebPub\", */ },\n\t/*::[*/0x08c1/*::]*/: { /* n:\"ListObj\", */ },\n\t/*::[*/0x08c2/*::]*/: { /* n:\"ListField\", */ },\n\t/*::[*/0x08c3/*::]*/: { /* n:\"ListDV\", */ },\n\t/*::[*/0x08c4/*::]*/: { /* n:\"ListCondFmt\", */ },\n\t/*::[*/0x08c5/*::]*/: { /* n:\"ListCF\", */ },\n\t/*::[*/0x08c6/*::]*/: { /* n:\"FMQry\", */ },\n\t/*::[*/0x08c7/*::]*/: { /* n:\"FMSQry\", */ },\n\t/*::[*/0x08c8/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x08c9/*::]*/: { /* n:\"LnExt\", */ },\n\t/*::[*/0x08ca/*::]*/: { /* n:\"MkrExt\", */ },\n\t/*::[*/0x08cb/*::]*/: { /* n:\"CrtCoopt\", */ },\n\t/*::[*/0x08d6/*::]*/: { /* n:\"FRTArchId$\", */ r:12 },\n\n\t/*::[*/0x7262/*::]*/: {}\n};\n\nfunction write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar t/*:number*/ = type;\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = type;\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r/*:number*/, c/*:number*/) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||\"\").slice(0,255)));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref/*:string*/, rr = \"\", cols/*:Array*/ = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i*/ = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1));\n\twrite_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100));\n\twrite_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true));\n\twrite_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false));\n\twrite_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001));\n\twrite_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true));\n\twrite_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false));\n\twrite_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false));\n\twrite_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1));\n\twrite_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, 0x0083 /* HCenter */, writebool(false));\n\twrite_biff_rec(ba, 0x0084 /* VCenter */, writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"]);\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname/*:string*/ = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, 0x000a /* EOF */);\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) {\n\tvar A = buf_array();\n\tvar _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/);\n\tvar _sheets/*:Array*/ = (_WB.Sheets||[]);\n\tvar _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:\"ThisWorkbook\"*/}/*:: ):any)*/;\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, 0x0087 /* Addin */);\n\twrite_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2));\n\tif(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */);\n\tif(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */);\n\twrite_biff_rec(A, 0x00e2 /* InterfaceEnd */);\n\twrite_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01c0 /* Excel9File */);\n\twrite_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */);\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname/*:string*/ = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, 0x0019 /* WinProtect */, writebool(false));\n\twrite_biff_rec(A, 0x0012 /* Protect */, writebool(false));\n\twrite_biff_rec(A, 0x0013 /* Password */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false));\n\tif(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0));\n\twrite_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts));\n\twrite_biff_rec(A, 0x0040 /* Backup */, writebool(false));\n\twrite_biff_rec(A, 0x008d /* HideObj */, writeuint16(0));\n\twrite_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true));\n\tif(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false));\n\twrite_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, 0x008C, write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, 0x00FC, write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, 0x000A /* EOF */);\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/);\n\t\twrite_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn bconcat(out);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn bconcat(bufs);\n}\n\nfunction write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nfunction html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tstr = str.replace(//g, \"\");\n\tvar mtch/*:any*/ = str.match(/\");\n\tvar mtch2/*:any*/ = str.match(/<\\/table/i);\n\tvar i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;\n\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\tvar R = -1, C = 0, RS = 0, CS = 0;\n\tvar range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\tvar merges/*:Array*/ = [];\n\tfor(i = 0; i < rows.length; ++i) {\n\t\tvar row = rows[i].trim();\n\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\tif(hd == \"/i);\n\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\tvar cell = cells[j].trim();\n\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar _merge/*:Range*/ = merges[midx];\n\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t}\n\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar _t/*:string*/ = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t/* TODO: generate stub cells */\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tm = htmldecode(m);\n\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tvar o/*:Cell*/ = {t:'s', v:m};\n\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\to = ({t:'d', v:parseDate(m)}/*:any*/);\n\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\tC += CS;\n\t\t}\n\t}\n\tws['!ref'] = encode_range(range);\n\tif(merges.length) ws[\"!merges\"] = merges;\n\treturn ws;\n}\nfunction make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar M/*:Array*/ = (ws['!merges'] ||[]);\n\tvar oo/*:Array*/ = [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar RS = 0, CS = 0;\n\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t}\n\t\tif(RS < 0) continue;\n\t\tvar coord = encode_cell({r:R,c:C});\n\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t/* TODO: html entities */\n\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\tvar sp = ({}/*:any*/);\n\t\tif(RS > 1) sp.rowspan = RS;\n\t\tif(CS > 1) sp.colspan = CS;\n\t\tif(o.editable) w = '' + w + '';\n\t\telse if(cell) {\n\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\tif(cell.v != null) sp[\"data-v\"] = cell.v;\n\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t}\n\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\too.push(writextag('td', w, sp));\n\t}\n\tvar preamble = \"\";\n\treturn preamble + oo.join(\"\") + \"\";\n}\n\nvar HTML_BEGIN = 'SheetJS Table Export';\nvar HTML_END = '';\n\nfunction html_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\tvar mtch = str.match(/[\\s\\S]*?<\\/table>/gi);\n\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
\");\n\tif(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\tvar wb = book_new();\n\tmtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\treturn wb;\n}\n\nfunction make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\treturn out.join(\"\") + '';\n}\n\nfunction sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ {\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tvar out/*:Array*/ = [header];\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tout.push(make_html_preamble(ws, r, o));\n\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\tout.push(\"
\" + footer);\n\treturn out.join(\"\");\n}\n\nfunction sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\n\tvar rows/*:HTMLCollection*/ = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range/*:Range*/ = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges/*:Array*/ = [], midx = 0;\n\tvar rowinfo/*:Array*/ = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row/*:HTMLTableRowElement*/ = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts/*:HTMLCollection*/ = (row.children/*:any*/);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt/*:HTMLTableCellElement*/ = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m/*:Range*/ = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o/*:Cell*/ = {t:'s', v:v};\n\t\t\tvar _t/*:string*/ = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)}/*:any*/);\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\") o.l = ({ Target: l });\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ {\n\tvar display/*:string*/ = '';\n\tvar get_computed_style/*:?function*/ = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style && element.style.display;\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nfunction parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ {\n\t/* 6.1.2 White Space Characters */\n\tvar fixed = text\n\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t.replace(//g,\" \")\n\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t.replace(//g,\"\\n\");\n\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\treturn [v];\n}\n\nvar number_formats_ods = {\n\t/* ods name: [short ssf fmt, long ssf fmt] */\n\tday: [\"d\", \"dd\"],\n\tmonth: [\"m\", \"mm\"],\n\tyear: [\"y\", \"yy\"],\n\thours: [\"h\", \"hh\"],\n\tminutes: [\"m\", \"mm\"],\n\tseconds: [\"s\", \"ss\"],\n\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\tera: [\"e\", \"ee\"],\n\t/* there is no native representation of LO \"Q\" format */\n\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n};\n\n\nfunction parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state/*:Array*/ = [], tmp;\n\t\tvar tag/*:: = {}*/;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag/*:: = {name:\"\", '名称':\"\"}*/;\n\t\tvar rowtag/*:: = {'行号':\"\"}*/;\n\t\tvar Sheets = {}, SheetNames/*:Array*/ = [];\n\t\tvar ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar Rn, q/*:: :any = ({t:\"\", v:null, z:null, w:\"\",c:[],}:any)*/;\n\t\tvar ctag = ({value:\"\"}/*:any*/);\n\t\tvar textp = \"\", textpidx = 0, textptag/*:: = {}*/;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({}/*:any*/);\n\t\tvar _Ref/*:[string, string]*/ = [\"\", \"\"];\n\t\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({}/*:any*/);\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); }\n\t\t\t\t\t\t\tq.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {/*:: t:\"\", v:null, z:null, w:\"\",c:[]*/};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({}/*:any*/);\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) /*::(*/comment/*:: :any)*/.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/);\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso(/*::wb, opts*/) {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text/*:string*/)/*:string*/ {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"
\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb/*:Workbook*/, i/*:number*//*::, opts*/)/*:string*/ {\n\t\t/* Section 9 Tables */\n\t\tvar o/*:Array*/ = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o/*:Array*/, wb) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/office:document-meta/g, \"office:meta\"));\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\twrite_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb/*:any*/, opts/*:any*/) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest/*:Array >*/ = [];\n\tvar rdf/*:Array<[string, string]>*/ = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\n/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */\nfunction u8_to_dataview(array) {\n return new DataView(array.buffer, array.byteOffset, array.byteLength);\n}\nfunction u8str(u8) {\n return typeof TextDecoder != \"undefined\" ? new TextDecoder().decode(u8) : utf8read(a2s(u8));\n}\nfunction stru8(str) {\n return typeof TextEncoder != \"undefined\" ? new TextEncoder().encode(str) : s2a(utf8write(str));\n}\nfunction u8contains(body, search) {\n outer:\n for (var L = 0; L <= body.length - search.length; ++L) {\n for (var j = 0; j < search.length; ++j)\n if (body[L + j] != search[j])\n continue outer;\n return true;\n }\n return false;\n}\nfunction u8concat(u8a) {\n var len = u8a.reduce(function(acc, x) {\n return acc + x.length;\n }, 0);\n var out = new Uint8Array(len);\n var off = 0;\n u8a.forEach(function(u8) {\n out.set(u8, off);\n off += u8.length;\n });\n return out;\n}\nfunction popcnt(x) {\n x -= x >> 1 & 1431655765;\n x = (x & 858993459) + (x >> 2 & 858993459);\n return (x + (x >> 4) & 252645135) * 16843009 >>> 24;\n}\nfunction readDecimal128LE(buf, offset) {\n var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1;\n var mantissa = buf[offset + 14] & 1;\n for (var j = offset + 13; j >= offset; --j)\n mantissa = mantissa * 256 + buf[j];\n return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176);\n}\nfunction writeDecimal128LE(buf, offset, value) {\n var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 20;\n var mantissa = value / Math.pow(10, exp - 6176);\n buf[offset + 15] |= exp >> 7;\n buf[offset + 14] |= (exp & 127) << 1;\n for (var i = 0; mantissa >= 1; ++i, mantissa /= 256)\n buf[offset + i] = mantissa & 255;\n buf[offset + 15] |= value >= 0 ? 0 : 128;\n}\nfunction parse_varint49(buf, ptr) {\n var l = ptr ? ptr[0] : 0;\n var usz = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n usz |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 28);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 35);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 42);\n ++l;\n if (buf[l++] < 128)\n break varint;\n }\n if (ptr)\n ptr[0] = l;\n return usz;\n}\nfunction write_varint49(v) {\n var usz = new Uint8Array(7);\n usz[0] = v & 127;\n var L = 1;\n sz:\n if (v > 127) {\n usz[L - 1] |= 128;\n usz[L] = v >> 7 & 127;\n ++L;\n if (v <= 16383)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 14 & 127;\n ++L;\n if (v <= 2097151)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 21 & 127;\n ++L;\n if (v <= 268435455)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 256 >>> 21 & 127;\n ++L;\n if (v <= 34359738367)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 65536 >>> 21 & 127;\n ++L;\n if (v <= 4398046511103)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 16777216 >>> 21 & 127;\n ++L;\n }\n return usz.slice(0, L);\n}\nfunction varint_to_i32(buf) {\n var l = 0, i32 = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n i32 |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 28;\n }\n return i32;\n}\nfunction parse_shallow(buf) {\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var off = ptr[0];\n var num = parse_varint49(buf, ptr);\n var type = num & 7;\n num = Math.floor(num / 8);\n var len = 0;\n var res;\n if (num == 0)\n break;\n switch (type) {\n case 0:\n {\n var l = ptr[0];\n while (buf[ptr[0]++] >= 128)\n ;\n res = buf.slice(l, ptr[0]);\n }\n break;\n case 5:\n len = 4;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 1:\n len = 8;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 2:\n len = parse_varint49(buf, ptr);\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 3:\n case 4:\n default:\n throw new Error(\"PB Type \".concat(type, \" for Field \").concat(num, \" at offset \").concat(off));\n }\n var v = { data: res, type: type };\n if (out[num] == null)\n out[num] = [v];\n else\n out[num].push(v);\n }\n return out;\n}\nfunction write_shallow(proto) {\n var out = [];\n proto.forEach(function(field, idx) {\n field.forEach(function(item) {\n if (!item.data)\n return;\n out.push(write_varint49(idx * 8 + item.type));\n if (item.type == 2)\n out.push(write_varint49(item.data.length));\n out.push(item.data);\n });\n });\n return u8concat(out);\n}\nfunction mappa(data, cb) {\n return (data == null ? void 0 : data.map(function(d) {\n return cb(d.data);\n })) || [];\n}\nfunction parse_iwa_file(buf) {\n var _a;\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var len = parse_varint49(buf, ptr);\n var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n var res = {\n id: varint_to_i32(ai[1][0].data),\n messages: []\n };\n ai[2].forEach(function(b) {\n var mi = parse_shallow(b.data);\n var fl = varint_to_i32(mi[3][0].data);\n res.messages.push({\n meta: mi,\n data: buf.slice(ptr[0], ptr[0] + fl)\n });\n ptr[0] += fl;\n });\n if ((_a = ai[3]) == null ? void 0 : _a[0])\n res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0;\n out.push(res);\n }\n return out;\n}\nfunction write_iwa_file(ias) {\n var bufs = [];\n ias.forEach(function(ia) {\n var ai = [];\n ai[1] = [{ data: write_varint49(ia.id), type: 0 }];\n ai[2] = [];\n if (ia.merge != null)\n ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }];\n var midata = [];\n ia.messages.forEach(function(mi) {\n midata.push(mi.data);\n mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];\n ai[2].push({ data: write_shallow(mi.meta), type: 2 });\n });\n var aipayload = write_shallow(ai);\n bufs.push(write_varint49(aipayload.length));\n bufs.push(aipayload);\n midata.forEach(function(mid) {\n return bufs.push(mid);\n });\n });\n return u8concat(bufs);\n}\nfunction parse_snappy_chunk(type, buf) {\n if (type != 0)\n throw new Error(\"Unexpected Snappy chunk type \".concat(type));\n var ptr = [0];\n var usz = parse_varint49(buf, ptr);\n var chunks = [];\n while (ptr[0] < buf.length) {\n var tag = buf[ptr[0]] & 3;\n if (tag == 0) {\n var len = buf[ptr[0]++] >> 2;\n if (len < 60)\n ++len;\n else {\n var c = len - 59;\n len = buf[ptr[0]];\n if (c > 1)\n len |= buf[ptr[0] + 1] << 8;\n if (c > 2)\n len |= buf[ptr[0] + 2] << 16;\n if (c > 3)\n len |= buf[ptr[0] + 3] << 24;\n len >>>= 0;\n len++;\n ptr[0] += c;\n }\n chunks.push(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n continue;\n } else {\n var offset = 0, length = 0;\n if (tag == 1) {\n length = (buf[ptr[0]] >> 2 & 7) + 4;\n offset = (buf[ptr[0]++] & 224) << 3;\n offset |= buf[ptr[0]++];\n } else {\n length = (buf[ptr[0]++] >> 2) + 1;\n if (tag == 2) {\n offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8;\n ptr[0] += 2;\n } else {\n offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0;\n ptr[0] += 4;\n }\n }\n chunks = [u8concat(chunks)];\n if (offset == 0)\n throw new Error(\"Invalid offset 0\");\n if (offset > chunks[0].length)\n throw new Error(\"Invalid offset beyond length\");\n if (length >= offset) {\n chunks.push(chunks[0].slice(-offset));\n length -= offset;\n while (length >= chunks[chunks.length - 1].length) {\n chunks.push(chunks[chunks.length - 1]);\n length -= chunks[chunks.length - 1].length;\n }\n }\n chunks.push(chunks[0].slice(-offset, -offset + length));\n }\n }\n var o = u8concat(chunks);\n if (o.length != usz)\n throw new Error(\"Unexpected length: \".concat(o.length, \" != \").concat(usz));\n return o;\n}\nfunction decompress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var t = buf[l++];\n var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16;\n l += 3;\n out.push(parse_snappy_chunk(t, buf.slice(l, l + len)));\n l += len;\n }\n if (l !== buf.length)\n throw new Error(\"data is not a valid framed stream!\");\n return u8concat(out);\n}\nfunction compress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var c = Math.min(buf.length - l, 268435455);\n var frame = new Uint8Array(4);\n out.push(frame);\n var usz = write_varint49(c);\n var L = usz.length;\n out.push(usz);\n if (c <= 60) {\n L++;\n out.push(new Uint8Array([c - 1 << 2]));\n } else if (c <= 256) {\n L += 2;\n out.push(new Uint8Array([240, c - 1 & 255]));\n } else if (c <= 65536) {\n L += 3;\n out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255]));\n } else if (c <= 16777216) {\n L += 4;\n out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255]));\n } else if (c <= 4294967296) {\n L += 5;\n out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255]));\n }\n out.push(buf.slice(l, l + c));\n L += c;\n frame[0] = 0;\n frame[1] = L & 255;\n frame[2] = L >> 8 & 255;\n frame[3] = L >> 16 & 255;\n l += c;\n }\n return u8concat(out);\n}\nfunction parse_old_storage(buf, sst, rsst, v) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var data_offset = (v > 1 ? 12 : 8) + popcnt(flags & (v > 1 ? 3470 : 398)) * 4;\n var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 512) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n data_offset += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4;\n if (flags & 16) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 32) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 64) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n var ret;\n switch (buf[2]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: ieee };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else if (sidx > -1)\n ret = { t: \"s\", v: sst[sidx] };\n else if (!isNaN(ieee))\n ret = { t: \"n\", v: ieee };\n else\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction parse_new_storage(buf, sst, rsst) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(8, true);\n var data_offset = 12;\n var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 1) {\n d128 = readDecimal128LE(buf, data_offset);\n data_offset += 16;\n }\n if (flags & 2) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 4) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n if (flags & 8) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 16) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n var ret;\n switch (buf[1]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: d128 };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n break;\n case 10:\n ret = { t: \"n\", v: d128 };\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction write_new_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 5;\n switch (cell.t) {\n case \"n\":\n out[1] = 2;\n writeDecimal128LE(out, l, cell.v);\n flags |= 1;\n l += 16;\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 2;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[1] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 8;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(8, flags, true);\n return out.slice(0, l);\n}\nfunction write_old_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 3;\n switch (cell.t) {\n case \"n\":\n out[2] = 2;\n dv.setFloat64(l, cell.v, true);\n flags |= 32;\n l += 8;\n break;\n case \"b\":\n out[2] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 32;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[2] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 16;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(4, flags, true);\n return out.slice(0, l);\n}\nfunction parse_cell_storage(buf, sst, rsst) {\n switch (buf[0]) {\n case 0:\n case 1:\n case 2:\n case 3:\n return parse_old_storage(buf, sst, rsst, buf[0]);\n case 5:\n return parse_new_storage(buf, sst, rsst);\n default:\n throw new Error(\"Unsupported payload version \".concat(buf[0]));\n }\n}\nfunction parse_TSP_Reference(buf) {\n var pb = parse_shallow(buf);\n return parse_varint49(pb[1][0].data);\n}\nfunction write_TSP_Reference(idx) {\n var out = [];\n out[1] = [{ type: 0, data: write_varint49(idx) }];\n return write_shallow(out);\n}\nfunction parse_TST_TableDataList(M, root) {\n var pb = parse_shallow(root.data);\n var type = varint_to_i32(pb[1][0].data);\n var entries = pb[3];\n var data = [];\n (entries || []).forEach(function(entry) {\n var le = parse_shallow(entry.data);\n var key = varint_to_i32(le[1][0].data) >>> 0;\n switch (type) {\n case 1:\n data[key] = u8str(le[3][0].data);\n break;\n case 8:\n {\n var rt = M[parse_TSP_Reference(le[9][0].data)][0];\n var rtp = parse_shallow(rt.data);\n var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0];\n var mtype = varint_to_i32(rtpref.meta[1][0].data);\n if (mtype != 2001)\n throw new Error(\"2000 unexpected reference to \".concat(mtype));\n var tswpsa = parse_shallow(rtpref.data);\n data[key] = tswpsa[3].map(function(x) {\n return u8str(x.data);\n }).join(\"\");\n }\n break;\n }\n });\n return data;\n}\nfunction parse_TST_TileRowInfo(u8, type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(u8);\n var R = varint_to_i32(pb[1][0].data) >>> 0;\n var cnt = varint_to_i32(pb[2][0].data) >>> 0;\n var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false;\n var used_storage_u8, used_storage;\n if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) {\n used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data;\n used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data;\n } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) {\n used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data;\n used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data;\n } else\n throw \"NUMBERS Tile missing \".concat(type, \" cell storage\");\n var width = wide_offsets ? 4 : 1;\n var used_storage_offsets = u8_to_dataview(used_storage_u8);\n var offsets = [];\n for (var C = 0; C < used_storage_u8.length / 2; ++C) {\n var off = used_storage_offsets.getUint16(C * 2, true);\n if (off < 65535)\n offsets.push([C, off]);\n }\n if (offsets.length != cnt)\n throw \"Expected \".concat(cnt, \" cells, found \").concat(offsets.length);\n var cells = [];\n for (C = 0; C < offsets.length - 1; ++C)\n cells[offsets[C][0]] = used_storage.subarray(offsets[C][1] * width, offsets[C + 1][1] * width);\n if (offsets.length >= 1)\n cells[offsets[offsets.length - 1][0]] = used_storage.subarray(offsets[offsets.length - 1][1] * width);\n return { R: R, cells: cells };\n}\nfunction parse_TST_Tile(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var storage = ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) ? varint_to_i32(pb[7][0].data) >>> 0 > 0 ? 1 : 0 : -1;\n var ri = mappa(pb[5], function(u8) {\n return parse_TST_TileRowInfo(u8, storage);\n });\n return {\n nrows: varint_to_i32(pb[4][0].data) >>> 0,\n data: ri.reduce(function(acc, x) {\n if (!acc[x.R])\n acc[x.R] = [];\n x.cells.forEach(function(cell, C) {\n if (acc[x.R][C])\n throw new Error(\"Duplicate cell r=\".concat(x.R, \" c=\").concat(C));\n acc[x.R][C] = cell;\n });\n return acc;\n }, [])\n };\n}\nfunction parse_TST_TableModelArchive(M, root, ws) {\n var _a;\n var pb = parse_shallow(root.data);\n var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };\n range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1;\n if (range.e.r < 0)\n throw new Error(\"Invalid row varint \".concat(pb[6][0].data));\n range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1;\n if (range.e.c < 0)\n throw new Error(\"Invalid col varint \".concat(pb[7][0].data));\n ws[\"!ref\"] = encode_range(range);\n var store = parse_shallow(pb[4][0].data);\n var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]);\n var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : [];\n var tile = parse_shallow(store[3][0].data);\n var _R = 0;\n tile[1].forEach(function(t) {\n var tl = parse_shallow(t.data);\n var ref = M[parse_TSP_Reference(tl[2][0].data)][0];\n var mtype = varint_to_i32(ref.meta[1][0].data);\n if (mtype != 6002)\n throw new Error(\"6001 unexpected reference to \".concat(mtype));\n var _tile = parse_TST_Tile(M, ref);\n _tile.data.forEach(function(row, R) {\n row.forEach(function(buf, C) {\n var addr = encode_cell({ r: _R + R, c: C });\n var res = parse_cell_storage(buf, sst, rsst);\n if (res)\n ws[addr] = res;\n });\n });\n _R += _tile.nrows;\n });\n}\nfunction parse_TST_TableInfoArchive(M, root) {\n var pb = parse_shallow(root.data);\n var out = { \"!ref\": \"A1\" };\n var tableref = M[parse_TSP_Reference(pb[2][0].data)];\n var mtype = varint_to_i32(tableref[0].meta[1][0].data);\n if (mtype != 6001)\n throw new Error(\"6000 unexpected reference to \".concat(mtype));\n parse_TST_TableModelArchive(M, tableref[0], out);\n return out;\n}\nfunction parse_TN_SheetArchive(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var out = {\n name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : \"\",\n sheets: []\n };\n var shapeoffs = mappa(pb[2], parse_TSP_Reference);\n shapeoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 6e3)\n out.sheets.push(parse_TST_TableInfoArchive(M, m));\n });\n });\n return out;\n}\nfunction parse_TN_DocumentArchive(M, root) {\n var out = book_new();\n var pb = parse_shallow(root.data);\n var sheetoffs = mappa(pb[1], parse_TSP_Reference);\n sheetoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 2) {\n var root2 = parse_TN_SheetArchive(M, m);\n root2.sheets.forEach(function(sheet, idx) {\n book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + \"_\" + idx, true);\n });\n }\n });\n });\n if (out.SheetNames.length == 0)\n throw new Error(\"Empty NUMBERS file\");\n return out;\n}\nfunction parse_numbers_iwa(cfb) {\n var _a, _b, _c, _d;\n var M = {}, indices = [];\n cfb.FullPaths.forEach(function(p) {\n if (p.match(/\\.iwpv2/))\n throw new Error(\"Unsupported password protection\");\n });\n cfb.FileIndex.forEach(function(s) {\n if (!s.name.match(/\\.iwa$/))\n return;\n var o;\n try {\n o = decompress_iwa_file(s.content);\n } catch (e) {\n return console.log(\"?? \" + s.content.length + \" \" + (e.message || e));\n }\n var packets;\n try {\n packets = parse_iwa_file(o);\n } catch (e) {\n return console.log(\"## \" + (e.message || e));\n }\n packets.forEach(function(packet) {\n M[packet.id] = packet.messages;\n indices.push(packet.id);\n });\n });\n if (!indices.length)\n throw new Error(\"File has no messages\");\n var docroot = ((_d = (_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.meta) == null ? void 0 : _c[1]) == null ? void 0 : _d[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0];\n if (!docroot)\n indices.forEach(function(idx) {\n M[idx].forEach(function(iwam) {\n var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0;\n if (mtype == 1) {\n if (!docroot)\n docroot = iwam;\n else\n throw new Error(\"Document has multiple roots\");\n }\n });\n });\n if (!docroot)\n throw new Error(\"Cannot find Document root\");\n return parse_TN_DocumentArchive(M, docroot);\n}\nfunction write_tile_row(tri, data, SST) {\n var _a, _b, _c, _d;\n if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0]))\n throw \"Mutation only works on post-BNC storages!\";\n var wide_offsets = ((_d = (_c = tri[8]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && varint_to_i32(tri[8][0].data) > 0 || false;\n if (wide_offsets)\n throw \"Math only works with normal offsets\";\n var cnt = 0;\n var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = [];\n var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = [];\n for (var C = 0; C < data.length; ++C) {\n if (data[C] == null) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535);\n continue;\n }\n dv.setUint16(C * 2, last_offset, true);\n _dv.setUint16(C * 2, _last_offset, true);\n var celload, _celload;\n switch (typeof data[C]) {\n case \"string\":\n celload = write_new_storage({ t: \"s\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"s\", v: data[C] }, SST);\n break;\n case \"number\":\n celload = write_new_storage({ t: \"n\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"n\", v: data[C] }, SST);\n break;\n case \"boolean\":\n celload = write_new_storage({ t: \"b\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"b\", v: data[C] }, SST);\n break;\n default:\n throw new Error(\"Unsupported value \" + data[C]);\n }\n cell_storage.push(celload);\n last_offset += celload.length;\n _cell_storage.push(_celload);\n _last_offset += _celload.length;\n ++cnt;\n }\n tri[2][0].data = write_varint49(cnt);\n for (; C < tri[7][0].data.length / 2; ++C) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535, true);\n }\n tri[6][0].data = u8concat(cell_storage);\n tri[3][0].data = u8concat(_cell_storage);\n return cnt;\n}\nfunction write_numbers_iwa(wb, opts) {\n if (!opts || !opts.numbers)\n throw new Error(\"Must pass a `numbers` option -- check the README\");\n var ws = wb.Sheets[wb.SheetNames[0]];\n if (wb.SheetNames.length > 1)\n console.error(\"The Numbers writer currently writes only the first table\");\n var range = decode_range(ws[\"!ref\"]);\n range.s.r = range.s.c = 0;\n var trunc = false;\n if (range.e.c > 9) {\n trunc = true;\n range.e.c = 9;\n }\n if (range.e.r > 49) {\n trunc = true;\n range.e.r = 49;\n }\n if (trunc)\n console.error(\"The Numbers writer is currently limited to \".concat(encode_range(range)));\n var data = sheet_to_json(ws, { range: range, header: 1 });\n var SST = [\"~Sh33tJ5~\"];\n data.forEach(function(row) {\n return row.forEach(function(cell) {\n if (typeof cell == \"string\")\n SST.push(cell);\n });\n });\n var dependents = {};\n var indices = [];\n var cfb = CFB.read(opts.numbers, { type: \"base64\" });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (fi.type != 2)\n return;\n if (!fi.name.match(/\\.iwa/))\n return;\n var old_content = fi.content;\n var raw1 = decompress_iwa_file(old_content);\n var x2 = parse_iwa_file(raw1);\n x2.forEach(function(packet2) {\n indices.push(packet2.id);\n dependents[packet2.id] = { deps: [], location: fp, type: varint_to_i32(packet2.messages[0].meta[1][0].data) };\n });\n });\n indices.sort(function(x2, y2) {\n return x2 - y2;\n });\n var indices_varint = indices.filter(function(x2) {\n return x2 > 1;\n }).map(function(x2) {\n return [x2, write_varint49(x2)];\n });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (!fi.name.match(/\\.iwa/))\n return;\n var x2 = parse_iwa_file(decompress_iwa_file(fi.content));\n x2.forEach(function(ia) {\n ia.messages.forEach(function(m) {\n indices_varint.forEach(function(ivi) {\n if (ia.messages.some(function(mess) {\n return varint_to_i32(mess.meta[1][0].data) != 11006 && u8contains(mess.data, ivi[1]);\n })) {\n dependents[ivi[0]].deps.push(ia.id);\n }\n });\n });\n });\n });\n function get_unique_msgid() {\n for (var i = 927262; i < 2e6; ++i)\n if (!dependents[i])\n return i;\n throw new Error(\"Too many messages\");\n }\n var entry = CFB.find(cfb, dependents[1].location);\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var docroot;\n for (var xi = 0; xi < x.length; ++xi) {\n var packet = x[xi];\n if (packet.id == 1)\n docroot = packet;\n }\n var sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n var pb = parse_shallow(docroot.messages[0].data);\n {\n pb[6][0].data = write_varint49(range.e.r + 1);\n pb[7][0].data = write_varint49(range.e.c + 1);\n var cruidsref = parse_TSP_Reference(pb[46][0].data);\n var oldbucket = CFB.find(cfb, dependents[cruidsref].location);\n var _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n for (var j = 0; j < _x.length; ++j) {\n if (_x[j].id == cruidsref)\n break;\n }\n if (_x[j].id != cruidsref)\n throw \"Bad ColumnRowUIDMapArchive\";\n var cruids = parse_shallow(_x[j].messages[0].data);\n cruids[1] = [];\n cruids[2] = [], cruids[3] = [];\n for (var C = 0; C <= range.e.c; ++C) {\n var uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(C + 420690) }];\n cruids[1].push({ type: 2, data: write_shallow(uuid) });\n cruids[2].push({ type: 0, data: write_varint49(C) });\n cruids[3].push({ type: 0, data: write_varint49(C) });\n }\n cruids[4] = [];\n cruids[5] = [], cruids[6] = [];\n for (var R = 0; R <= range.e.r; ++R) {\n uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(R + 726270) }];\n cruids[4].push({ type: 2, data: write_shallow(uuid) });\n cruids[5].push({ type: 0, data: write_varint49(R) });\n cruids[6].push({ type: 0, data: write_varint49(R) });\n }\n _x[j].messages[0].data = write_shallow(cruids);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n delete pb[46];\n var store = parse_shallow(pb[4][0].data);\n {\n store[7][0].data = write_varint49(range.e.r + 1);\n var row_headers = parse_shallow(store[1][0].data);\n var row_header_ref = parse_TSP_Reference(row_headers[2][0].data);\n oldbucket = CFB.find(cfb, dependents[row_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != row_header_ref)\n throw \"Bad HeaderStorageBucket\";\n var base_bucket = parse_shallow(_x[0].messages[0].data);\n for (R = 0; R < data.length; ++R) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(R);\n _bucket[4][0].data = write_varint49(data[R].length);\n base_bucket[2][R] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var col_header_ref = parse_TSP_Reference(store[2][0].data);\n oldbucket = CFB.find(cfb, dependents[col_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != col_header_ref)\n throw \"Bad HeaderStorageBucket\";\n base_bucket = parse_shallow(_x[0].messages[0].data);\n for (C = 0; C <= range.e.c; ++C) {\n _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(C);\n _bucket[4][0].data = write_varint49(range.e.r + 1);\n base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var sstref = parse_TSP_Reference(store[4][0].data);\n (function() {\n var sentry = CFB.find(cfb, dependents[sstref].location);\n var sx = parse_iwa_file(decompress_iwa_file(sentry.content));\n var sstroot;\n for (var sxi = 0; sxi < sx.length; ++sxi) {\n var packet2 = sx[sxi];\n if (packet2.id == sstref)\n sstroot = packet2;\n }\n var sstdata = parse_shallow(sstroot.messages[0].data);\n {\n sstdata[3] = [];\n var newsst = [];\n SST.forEach(function(str, i) {\n newsst[1] = [{ type: 0, data: write_varint49(i) }];\n newsst[2] = [{ type: 0, data: write_varint49(1) }];\n newsst[3] = [{ type: 2, data: stru8(str) }];\n sstdata[3].push({ type: 2, data: write_shallow(newsst) });\n });\n }\n sstroot.messages[0].data = write_shallow(sstdata);\n var sy = write_iwa_file(sx);\n var raw32 = compress_iwa_file(sy);\n sentry.content = raw32;\n sentry.size = sentry.content.length;\n })();\n var tile = parse_shallow(store[3][0].data);\n {\n var t = tile[1][0];\n delete tile[2];\n var tl = parse_shallow(t.data);\n {\n var tileref = parse_TSP_Reference(tl[2][0].data);\n (function() {\n var tentry = CFB.find(cfb, dependents[tileref].location);\n var tx = parse_iwa_file(decompress_iwa_file(tentry.content));\n var tileroot;\n for (var sxi = 0; sxi < tx.length; ++sxi) {\n var packet2 = tx[sxi];\n if (packet2.id == tileref)\n tileroot = packet2;\n }\n var tiledata = parse_shallow(tileroot.messages[0].data);\n {\n delete tiledata[6];\n delete tile[7];\n var rowload = new Uint8Array(tiledata[5][0].data);\n tiledata[5] = [];\n var cnt = 0;\n for (var R2 = 0; R2 <= range.e.r; ++R2) {\n var tilerow = parse_shallow(rowload);\n cnt += write_tile_row(tilerow, data[R2], SST);\n tilerow[1][0].data = write_varint49(R2);\n tiledata[5].push({ data: write_shallow(tilerow), type: 2 });\n }\n tiledata[1] = [{ type: 0, data: write_varint49(range.e.c + 1) }];\n tiledata[2] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n tiledata[3] = [{ type: 0, data: write_varint49(cnt) }];\n tiledata[4] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n }\n tileroot.messages[0].data = write_shallow(tiledata);\n var ty = write_iwa_file(tx);\n var raw32 = compress_iwa_file(ty);\n tentry.content = raw32;\n tentry.size = tentry.content.length;\n })();\n }\n t.data = write_shallow(tl);\n }\n store[3][0].data = write_shallow(tile);\n }\n pb[4][0].data = write_shallow(store);\n }\n docroot.messages[0].data = write_shallow(pb);\n var y = write_iwa_file(x);\n var raw3 = compress_iwa_file(y);\n entry.content = raw3;\n entry.size = entry.content.length;\n return cfb;\n}\nfunction fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nfunction fix_read_opts(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\n\nfunction fix_write_opts(opts) {\nfix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\nfunction get_sheet_type(n/*:string*/)/*:string*/ {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments and threaded comments */\n\t\tvar tcomments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tvar dfile = \"\";\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tvar comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments, false);\n\t\t\t}\n\t\t\tif(sheetRels[sheet][n].Type == RELS.TCMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\ttcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts));\n\t\t\t}\n\t\t});\n\t\tif(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tmake_ssf();\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) {\n\t\tif(typeof Uint8Array == \"undefined\") throw new Error('NUMBERS file parsing requires Uint8Array support');\n\t\tif(typeof parse_numbers_iwa != \"undefined\") {\n\t\t\tif(zip.FileIndex) return parse_numbers_iwa(zip);\n\t\t\tvar _zip = CFB.utils.cfb_new();\n\t\t\tzipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); });\n\t\t\treturn parse_numbers_iwa(_zip);\n\t\t}\n\t\tthrow new Error('Unsupported NUMBERS file');\n\t}\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({}/*:any*/);\n\tvar styles = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({}/*:any*/);\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({}/*:any*/);\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, \"s5s\"));\n\n\tif((dir.metadata || []).length >= 1) {\n\t\t/* TODO: MDX and other types of metadata */\n\t\topts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts);\n\t}\n\n\tif((dir.people || []).length >= 1) {\n\t\topts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts);\n\t}\n\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: dup(table_fmt)\n\t}/*:any*/);\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\n/*:: declare var decrypt_agile:any; */\n\tif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\n/*:: declare var decrypt_std76:any; */\n\tif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(opts.bookType == \"numbers\") return write_numbers_iwa(wb, opts);\n\tif(opts.bookType == \"xlsb\") return write_zip_xlsxb(wb, opts);\n\treturn write_zip_xlsx(wb, opts);\n}\n\n/* XLSX and XLSB writing are very similar. Originally they were unified in one\n export function. This is horrible for tree shaking in the common case (most\n applications need to export files in one format) so this function supports\n both formats while write_zip_xlsx only handles XLSX */\nfunction write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta(f));\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".\" + wbext;\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".\" + wbext, RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_xml(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_xml(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_xml(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_xml(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_xml());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64_decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64_decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\to.type = \"binary\";\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64_decode(d);\n\td = $cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data/*:string*/)/*:string*/ {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\treset_cp();\n\tvar o = opts||{};\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\tif(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== \"undefined\" ? \"buffer\" : \"array\";\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = \"array\"; }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t}\n\tif(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\n/*:: declare var encrypt_agile:any; */\nfunction write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip_xlsx(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ {\n\tvar oopts = {};\n\tvar ftype = has_buf ? \"nodebuffer\" : (typeof Uint8Array !== \"undefined\" ? \"array\" : \"string\");\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = ftype;\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = ftype; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: /*::(*/{\"nodebuffer\": \"buffer\", \"string\": \"binary\"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts);\n\tif(typeof Deno !== \"undefined\") {\n\t\tif(typeof out == \"string\") {\n\t\t\tif(o.type == \"binary\" || o.type == \"base64\") return out;\n\t\t\tout = new Uint8Array(s2ab(out));\n\t\t}\n\t}\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(/*::(*/out/*:: :any)*/) : out;\n}\n\nfunction write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = opts||{};\n\tvar cfb/*:CFBContainer*/ = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse if(typeof TextEncoder !== \"undefined\") return new TextEncoder().encode(o);\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\treturn write_zip_typeXLSX(wb, o);\n}\n\nfunction writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\tvar idx = 0;\n\tif(o.sheet) {\n\t\tif(typeof o.sheet == \"number\") idx = o.sheet;\n\t\telse idx = wb.SheetNames.indexOf(o.sheet);\n\t\tif(!wb.SheetNames[idx]) throw new Error(\"Sheet not found: \" + o.sheet + \" : \" + (typeof o.sheet));\n\t}\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'numbers':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o/*:WriteFileOpts*/) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSyncXLSX(wb, o);\n}\n\n\nfunction writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\n/*::\ntype MJRObject = {\n\trow: any;\n\tisempty: boolean;\n};\n*/\nfunction make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, dense/*:boolean*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row/*:any*/ = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw && (val.t !== \"n\" || (val.t === \"n\" && o.rawNumbers !== false)) ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar out/*:Array*/ = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, o/*:Sheet2CSVOpts*/)/*:?string*/ {\n\tvar isempty = true;\n\tvar row/*:Array*/ = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar w = 0;\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tif(row || (o.blankrows !== false)) out.push((w++ ? RS : \"\") + row);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof $cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = $cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols/*:Array*/ = [], C;\n\tvar cmds/*:Array*/ = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws/*:Worksheet*/ = _ws || ({}/*:any*/);\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell/*:Cell*/;\n\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr/*:Array*/ = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R/*:number*/) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = ws_get_cell_stub(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || table_fmt[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nfunction book_new()/*:Workbook*/ {\n\treturn { SheetNames: [], Sheets: {} };\n}\n\n/* add a worksheet to the end of a given workbook */\nfunction book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ {\n\tvar i = 1;\n\tif(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tif(roll && wb.SheetNames.indexOf(name) >= 0) {\n\t\tvar m = name.match(/(^.*?)(\\d+)$/);\n\t\ti = m && +m[2] || 0;\n\t\tvar root = m && m[1] || name;\n\t\tfor(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;\n\t}\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n\treturn name;\n}\n\n/* set sheet visibility (visible/hidden/very hidden) */\nfunction book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) {\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Sheets) wb.Workbook.Sheets = [];\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tif(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {};\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n}\n\n/* set number format */\nfunction cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) {\n\tcell.z = fmt;\n\treturn cell;\n}\n\n/* set cell hyperlink */\nfunction cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target }/*:Hyperlink*/);\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n}\nfunction cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, \"#\" + range, tooltip); }\n\n/* add to cell comments */\nfunction cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n}\n\n/* set array formula and flush related cells */\nfunction sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) {\n\t\t\tcell.f = formula;\n\t\t\tif(dynamic) cell.D = true;\n\t\t}\n\t}\n\treturn ws;\n}\n\nvar utils/*:any*/ = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: sheet_to_html,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json,\n\tsheet_get_cell: ws_get_cell_stub,\n\tbook_new: book_new,\n\tbook_append_sheet: book_append_sheet,\n\tbook_set_sheet_visibility: book_set_sheet_visibility,\n\tcell_set_number_format: cell_set_number_format,\n\tcell_set_hyperlink: cell_set_hyperlink,\n\tcell_set_internal_link: cell_set_internal_link,\n\tcell_add_comment: cell_add_comment,\n\tsheet_set_array_formula: sheet_set_array_formula,\n\tconsts: {\n\t\tSHEET_VISIBLE: 0,\n\t\tSHEET_HIDDEN: 1,\n\t\tSHEET_VERY_HIDDEN: 2\n\t}\n};\n\nvar _Readable;\nfunction set_readable(R) { _Readable = R; }\n\nfunction write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable();\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row/*:?string*/ = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar R = r.s.r;\n\tvar BOM = false, w = 0;\n\tstream._read = function() {\n\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\twhile(R <= r.e.r) {\n\t\t\t++R;\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\tif(row != null) {\n\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\tif(row || (o.blankrows !== false)) return stream.push((w++ ? RS : \"\") + row);\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) {\n\tvar stream = _Readable();\n\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tstream.push(header);\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tstream.push(make_html_preamble(ws, r, o));\n\tvar R = r.s.r;\n\tvar end = false;\n\tstream._read = function() {\n\t\tif(R > r.e.r) {\n\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\treturn stream.push(null);\n\t\t}\n\t\twhile(R <= r.e.r) {\n\t\t\tstream.push(make_html_row(ws, r, R, o));\n\t\t\t++R;\n\t\t\tbreak;\n\t\t}\n\t};\n\treturn stream;\n}\n\nfunction write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable({objectMode:true});\n\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tR = r.s.r + offset;\n\tstream._read = function() {\n\t\twhile(R <= r.e.r) {\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t++R;\n\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\tstream.push(row.row);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nvar __stream = {\n\tto_json: write_json_stream,\n\tto_html: write_html_stream,\n\tto_csv: write_csv_stream,\n set_readable: set_readable\n};\nexport const version = XLSX.version;\nexport {\n\tparse_xlscfb,\n\tparse_zip,\n\treadSync as read,\n\treadFileSync as readFile,\n\treadFileSync,\n\twriteSync as write,\n\twriteFileSync as writeFile,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteSyncXLSX as writeXLSX,\n\twriteFileSyncXLSX as writeFileXLSX,\n\tutils,\n\t__stream as stream,\n\tSSF,\n\tCFB\n};\n"],"names":["XLSX","current_codepage","current_ansi","VALID_ANSI","CS2CP","set_ansi","cp","indexOf","set_cp","reset_cp","char_codes","data","o","i","len","length","charCodeAt","utf16beread","String","fromCharCode","join","$cptable","debom","c1","c2","utf16leread","slice","_getchar","x","_getansi","set_cptable","cptable","utils","decode","cpdoit","Base64_map","Base64_encode","input","c3","e1","e2","e3","e4","isNaN","charAt","Base64_decode","replace","has_buf","Buffer","process","versions","node","Buffer_from","nbfs","from","e","buf","enc","bind","new_raw_buf","alloc","Uint8Array","Array","new_unsafe_buf","allocUnsafe","s2a","s","split","map","s2ab","ArrayBuffer","view","a2s","isArray","c","ab2a","Error","bconcat","bufs","concat","isBuffer","maxlen","set","apply","call","chr0","chr1","_strrev","pad0","v","d","t","fill","pad_","rpad_","p2_32","Math","pow","pad0r","round","pad0r1","pad0r2","SSF_isgeneral","days","months","table_fmt","SSF_default_map","SSF_default_str","SSF_frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","floor","q","SSF_parse_date_code","opts","b2","date","time","dow","dout","out","T","u","y","m","H","M","S","abs","date1904","Date","setDate","getDate","getFullYear","getMonth","getDay","SSF_fix_hijri","SSFbasedate","SSFdnthresh","getTime","SSFbase1904","datenum_local","epoch","getTimezoneOffset","SSF_strip_decimal","SSF_general_num","V","log","LOG10E","toPrecision","w","toFixed","toExponential","SSF_small_exp","substr","SSF_large_exp","SSF_normalize_exp","toUpperCase","SSF_general","toString","SSF_format","SSF_write_date","type","fmt","val","ss0","ss","tt","outl","commaify","j","pct1","write_num_exp","idx","match","period","ee","fakee","$$","$1","$2","$3","frac1","dec1","closeparen","phone","hashq","str","cc","rnd","dd","dec","_frac","write_num_flt","ffmt","write_num","write_num_cm","sfmt","mul","write_num_pct","r","ri","ff","aval","sign","den","parseInt","rr","base","myn","myd","write_num_f1","carry","oa","min","max","lres","rres","flr","write_num_exp2","write_num_int","write_num_cm2","write_num_pct2","write_num_f2","lastIndexOf","SSF_abstime","fmt_is_date","cfregex2","chkcond","thresh","parseFloat","dateNF","table","f","in_str","SSF_split_fmt","l","lat","m1","m2","choose_fmt","flen","dt","lst","hr","toLowerCase","ssm","bt","jj","nstr","myv","ostr","vv","decpt","lasti","retval","eval_fmt","SSF_load","undefined","SSF_load_table","tbl","make_ssf","SSF","format","load","_table","load_table","parse_date_code","is_date","get_table","SSFImplicit","dateNFregex","CRC32","T0","n","Int32Array","signed_crc_table","TT","subarray","slice_by_16_tables","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","bstr","seed","C","L","CFB","fs","exports","dirname","p","filename","write_dos_date","hms","getHours","getMinutes","getSeconds","write_shift","ymd","parse_extra_field","blob","prep_blob","flags","read_shift","sz","tgt","mtime","atime","ctime","mt","get_fs","parse","file","options","parse_zip","root","di","row","test","mboundary","boundary","FileIndex","FullPaths","init_cfb","start_di","fcnt","line","parse_mime","parse_mad","mver","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","ssz","fat_addrs","mv","chk","HEADER_SIGNATURE","check_get_mver","header","shift","check_shifts","dir_cnt","sectors","nsectors","ceil","sectorify","sleuth_fat","sector_list","sl","chkd","buf_chain","modulus","k","seen","push","addr","__readInt32LE","nodes","__toBuffer","make_sector_list","name","ENDOFCHAIN","Paths","files","mini","minifat_store","pl","sector","namelen","__utf16le","color","R","clsid","state","start","size","ct","read_date","storage","get_sector_list","content","get_mfat_entry","read_directory","FI","FP","dad","build_full_paths","raw","entry","payload","MSSZ","new_buf","cnt","offset","__readUInt32LE","cfb","CLSID","nm","find","rebuild_cfb","seed_cfb","gc","_file","pop","now","fullPaths","Object","create","HEADER_CLSID","sort","Z","namecmp","elt","_write","_opts","fileType","fp","fi","ca","cstr","dispcnt","csl","qp","get_content_type","write_quoted_printable","write_base64_76","write_mad","cdirs","method","compression","start_cd","crcs","sz_cd","namebuf","outbuf","_deflateRawSync","write_zip","mini_size","fat_size","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","copy","version","_zlib","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","b","rev","read_bits_2","bl","h","read_bits_3","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","a","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","Uint16Array","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","DST_LN_RE","LEN_LN_RE","boff","write_stored","addrs","hash","mlen","len_eb","dst_eb","write_huff_fixed","off","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","read_bits_4","next_code","hcodes","h1","h2","_inflate","usz","woff","OL","max_len_1","max_len_2","bits","code","dst","inflate","warn_or_throw","wrn","msg","console","error","csz","efsz","fcsz","EF","parse_local_file","meth","setMilliseconds","setFullYear","setMonth","setHours","setMinutes","setSeconds","parse_dos_date","_csz","_usz","ef","InflRaw","InflateRaw","_processChunk","_finishFlushFlag","bytesRead","_inflateRawSync","cfb_add","unsafe","ContentTypeMap","htm","xml","gif","jpg","png","mso","thmx","sh33tj5","ctype","ext","text","encoded","si","end","tmp","fdata","fname","cte","trim","oi","parse_quoted_printable","fpath","cfb_gc","path","UCFullPaths","UCPaths","UCPath","read","readFileSync","read_file","write","writeFileSync","writeFile","cfb_new","cfb_del","splice","cfb_mov","old_name","new_name","ReadShift","CheckField","use_zlib","zlib","message","_inflateRaw","_fs","set_fs","blobify","a2u","write_dl","Deno","TextEncoder","encode","utf8write","IE_SaveFile","Blob","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","url","chrome","downloads","download","revokeObjectURL","setTimeout","href","body","appendChild","click","removeChild","$","File","Folder","open","encoding","close","keys","ks","o2","prototype","hasOwnProperty","evert_key","obj","key","K","evert","evert_num","basedate","datenum","refdate","dnthresh","refoffset","numdate","setTime","parse_isodur","sec","good_pd_date_1","good_pd_date","good_pd","parseDate","fixdate","cc2str","arr","debomit","TextDecoder","dup","JSON","stringify","fuzzynum","Number","isFinite","NaN","wt","lower_months","fuzzydate","getYear","lower","split_regex","safe_split_regex","re","def","getdatastr","asNodeBuffer","asBinary","_data","getContent","getdatabin","safegetzipfile","zip","g","getzipfile","getzipdata","safe","getzipstr","getzipbin","zipentries","zip_add_file","res","widx","ridx","utf8decode","zip_new","zip_read","resolve_path","result","target","step","XML_HEADER","attregexg","tagregex1","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","skip_LC","z","eq","quot","strip_ns","encodings","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","xlml_fixstr","entregex","entrepl","parsexmlbool","value","utf8reada","orig","utf8readb","ww","utf8readc","utf8corpus","utf8read","matchtag","mtcache","RegExp","htmldecode","entities","vtregex","vt_cache","vtvregex","vtmregex","parseVector","matches","baseType","WTF","forEach","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","xlml_normalize","xlmlregex","XMLNS","XMLNS_main","XLMLNS","___toBuffer","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","___lpstr","__lpstr","___cpstr","__cpstr","___lpwstr","__lpwstr","___lpp4","__lpp4","___8lpp4","__8lpp4","___double","Infinity","read_double_le","__double","is_buf","readUInt32LE","readDoubleLE","__readInt16LE","__readInt32BE","oI","oR","loc","oo","this","lens","__writeUInt16LE","WriteShift","cppayload","__writeUInt32LE","bs","av","LN2","write_double_le","__writeInt32LE","hexstr","fld","pos","parsenoop","recordhopper","cb","tmpbyte","cntbyte","RT","XLSBRecordEnum","buf_array","blksz","newblk","curbuf","endbuf","next","_bufs","write_record","ba","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","encode_range_xls","encode_row","encode_col","decode_row","rowstr","decode_col","colstr","col","decode_cell","decode_range","encode_range","cs","ce","safe_decode_range","format_cell","BErr","XF","numFmtId","safe_format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","nullError","sheetStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","parse_RichStr","rgsStrRun","dwSizeStrRun","parse_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBShortCell","write_XLSBShortCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","write_BrtColor","auto","index","theme","nTS","tint","rgb","parse_ClipboardFormatOrString","VT_STRING","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","CountryEnum","XLSFillPattern","rgbify","XLSIcv","RBErr","ct2type","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","metadata","styles","write_ct","type2ct","evert_arr","xmlns","Extension","ContentType","f1","PartName","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","XPATH","XMISS","XLINK","CXML","CXMLP","CMNT","CORE_PROPS","EXT_PROPS","CUST_PROPS","SST","STY","THEME","CHART","CHARTEX","CS","WS","DS","MS","IMG","DRAW","XLMETA","TCMNT","PEOPLE","VBA","get_rels_path","parse_rels","currentFilePath","rels","rel","Type","Target","Id","TargetMode","canonictarget","write_rels","rid","add_rels","rId","relobj","targetmode","write_rdf_type","write_rdf_has","write_meta_ods","CORE_PROPS_REGEX","parse_core_props","cur","cp_doit","write_core_props","Props","CreatedDate","ModifiedDate","PseudoPropsPairs","load_props_pairs","HP","TOP","props","hp","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","write_ext_props","W","Application","custregex","write_cust_props","pid","write_vt","fmtid","evert_XLMLDPM","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","xlml_set_prop","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","parse_dictionary","CodePage","dict","parse_BLOB","bytes","ret","Size","parse_ClipboardData","parse_VtUnalignedString","cElements","parse_VtVecHeadingPairValue","parse_VtVecLpwstrValue","parse_VtVecUnalignedLpstrValue","write_TypedPropertyValue","write_FILETIME","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","XLSPSSkip","guess_property_type","write_PropertySet","entries","RE","hdr","piao","prop","pr","pio","unshift","pinfo","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet1","PSet0","rval","FMTID","write_PropertySetStream","entries2","clsid2","ps0","ps1","parsenoop2","writebool","parseuint16","writeuint16","parseuint16a","parslurp","write_Bes","parse_ShortXLUnicodeString","cch","parse_XLUnicodeRichExtendedString","cbExtRst","fExtSt","fRichSt","width","cRun","write_XLUnicodeRichExtendedString","xlstr","otext","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_HyperlinkString","write_HyperlinkString","write_Hyperlink","hl","hashidx","F","Pretarget","parse_LongRGBA","parse_LongRGB","parse_XLSCell","ixfe","write_XLSCell","parse_XTI","parse_RkRec","parse_Ref8U","rwFirst","rwLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","id","parse_FtSkip","FtTab","cf","fSharedNote","parse_BOF","BIFFVer","write_BOF","wb","write_BoundSheet8","hs","parse_DefaultRowHeight","miyRw","Unsynced","DyZero","ExAsc","ExDsc","write_Format","b5","parse_BIFF2Format","parse_Dimensions","write_XF","ixfeP","style","parse_BoolErr","parse_Bes","parse_XLHeaderFooter","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","sbcch","udfName","parse_AddinUdf","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","rgcb","parse_Rgce","parse_RgbExtra","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_Array","ref","parse_ArrayParsedFormula","parse_BIFF5OT","cchName","write_HLink","O","write_HLinkTooltip","Tooltip","parse_ColInfo","cellStyles","colFirst","colLast","coldx","level","parse_Blank","parse_Scl","parse_String","DBF_SUPPORTED_VERSIONS","DBF","dbf_codepage_map","dbf_reverse_map","dbf_to_sheet","ft","memo","vfp","l7","nrow","fpos","rlen","current_cp","codepage","fields","field","hend","sheetRows","dbf_to_aoa","wch","_RLEN","to_workbook","to_sheet","from_sheet","aoa","sheet_to_json","headers","cols","hcnt","coltypes","colwidths","coldecimals","guess","_guess","hf","_f","hb","rout","_n","_s","SYLK","sylk_escapes","AA","BA","CA","DA","HA","JA","AE","BE","CE","HE","AI","BI","CI","HI","AO","BO","CO","DO","HO","AU","BU","CU","HU","Aa","Ba","Ca","Da","Ha","Ja","Ae","Be","Ce","He","Ai","Bi","Ci","Hi","Ao","Bo","Co","Do","Ho","Au","Bu","Cu","Hu","KC","Kc","DN","Dn","Hy","sylk_char_regex","sylk_char_fn","_","decode_sylk_char","newcc","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","C_seen_K","C_seen_X","C_seen_S","C_seen_E","formula","rc_to_a1","shrbase","shift_formula_str","F_seen","hidden","process_col","hpt","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_aoa","write_ws_cell_sylk","a1_to_rc","preamble","RS","rec","wpx","width2px","px2char","rows","px2pt","write_ws_rows_sylk","coord","DIF","dif_to_aoa_str","dif_to_sheet","dif_to_aoa","push_field","topic","push_value","ETH","eth_to_sheet","eth_to_aoa","sep","meta","sheet_to_eth_data","PRN","set_text_arr","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","FS","sepcc","startcc","_re","finish_cell","Y","datestr","timestr","dateNF_fix","cellText","cellNF","outer","prn_to_sheet","firstbyte","lines","prn_to_aoa_str","prn_to_sheet_str","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook_buf","next_n","sidx","snames","realnames","refguess","vers","qpro","tmpcell","WK3Enum","osheets","rnames","parse_cell","parse_LABEL","write_LABEL","write_INTEGER","write_NUMBER","wk1_parse_rc","FuncTab","BinOpTab","parse_cell_3","write_LABEL_16","wsidx","parse_NUMBER_17","v1","v2","write_NUMBER_17","log2","parse_NUMBER_27","parse_SHEETNAMECS","write_XFORMAT_SHEETNAME","argc","argL","argR","args","wk1_fmla_to_csf","sheet_to_wk1","write_biff_rec","write_RANGE","max_R","book_to_wk3","wscnt","write_BOF_WK3","parse_rs","tregex","rpregex","parse_r","rpr","font","pass","shadow","outline","strike","uval","family","valign","parse_rpr","rregex","rend","rs","filter","rs_to_html","nlregex","r_to_html","terms","intro","outro","align","parse_rpr2","sitregex","sirregex","sirphregex","parse_si","html","cellHTML","sstr0","sstr1","sstr2","straywsregex","write_sst_xml","sst","bookSST","count","Count","uniqueCount","Unique","sitag","write_BrtSSTItem","write_sst_bin","write_BrtBeginSst","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceMapEntry","comps","parse_EncryptionHeader","Flags","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","KeyData","encryptedHmacKey","encryptedHmacValue","encs","uri","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","XorRor","byte1","byte2","Byte","password","Temp","PasswordLastChar","PadIndex","XorKey","CurrentElement","Char","CreateXorKey_Method1","Index","ObfuscationArray","RTF","rtf_to_sheet","rtf_to_sheet_str","rowtf","rtfre","last_index","exec","lastIndex","rgb2Hex","rgb_tint","hex","hsl","G","H6","L2","rgb2HSL","X","h6","hsl2RGB","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","cellXF_uint","cellXF_bool","parse_sty_xml","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","themes","NumberFmt","formatCode","parse_numFmts","Fonts","bold","italic","underline","condense","extend","vertAlign","scheme","indexed","icv","themeElements","clrScheme","parse_fonts","Fills","patternType","bgColor","fgColor","parse_fills","Borders","border","diagonalUp","diagonalDown","parse_borders","xf","CellXf","alignment","vertical","horizontal","textRotation","indent","wrapText","parse_cellXfs","write_sty_xml","NF","write_numFmts","cellXfs","write_cellXfs","write_BrtFmt","rev_XLSBFillPTNames","XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","write_BrtXF","write_Blxf","parse_BrtBorder","write_sty_bin","write_FMTS_bin","grbit","write_FontFlags","sss","charset","write_BrtFont","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","fontId","fillId","borderId","write_CELLSTYLEXFS_bin","write_CELLXFS_bin","xfId","builtinId","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","XLSXThemeClrScheme","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","themeltregex","parse_theme_xml","write_theme","parse_themeElements","Themes","themeXLSX","parse_ExtProp","extType","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_ColorTheme","parse_FullColorExt","parse_XFExtGradient","update_xfext","xfext","xfe","write_xlmeta_bin","write_BrtBeginEsfmd","write_BrtBeginEsmdb","mdb","write_BrtMdb","write_xlmeta_xml","_shapeid","write_comments_vml","csize","bbox","joinstyle","gradientshapeok","coordsize","fillopts","color2","angle","fillparm","fillxml","fillcolor","strokecolor","on","obscured","sheet_insert_comments","threaded","people","comment","author","write_comments_xml","iauthor","ID","lastauthor","ts","write_tcmnt_xml","carr","rootid","tcopts","tcid","parentId","personId","parse_BrtCommentAuthor","write_comments_bin","write_BrtCommentAuthor","write_BrtBeginComment","run","write_StrRun","VBAFMTS","rcregex","rcbase","rcfunc","fstr","crefregex","$0","$4","$5","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_PtgAttrBaxcel","bitSemi","parse_PtgAttrSpaceType","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfLel","PtgListRT","PtgTypes","iftab","FtabArgc","Ftab","cparams","tab","parsetab","Cetab","nameindex","rl","parse_RgceLocRel_BIFF2","cl","parse_RgceLocRel","area","parse_RgceAreaRel","ixti","parse_PtgNameX_BIFF5","PtgDupes","Ptg18","coltype","rt","Ptg19","bitIf","bitGoto","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","get_ixti_raw","supbooks","XTI","SID","get_ixti","ixtiraw","sname","formula_quote_sheet_name","stringify_formula","stack","nameidx","last_sp","sp","fflen","func","lbl","names","xlfn","externbook","bookidx","ixtidata","lp","rp","sharedf","parsedf","fnd","arrayf","_left","parse_SharedParsedFormula","parse_Formula","parse_FormulaValue","cbf","parse_XLSCellParsedFormula","shared","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","browser_has_Map","Map","get_sst_id","has","revarr","get","col_obj_w","outlineLevel","default_margins","margins","mode","defs","left","right","top","bottom","footer","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","check_ws","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","sheetprregex2","svsregex","parse_ws_xml_sheetpr","sheetPr","codeName","CodeName","sheetprot_deffalse","sheetprot_deftrue","sviewregex","write_ws_xml_cell","oldt","oldv","os","Strings","revStrings","cm","parse_ws_xml_data","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","sstr","ftag","cells","cref","tagr","tagc","do_format","rowobj","rowrite","marr","marrlen","xlen","rstarti","outa","ht","rslice","cellFormula","___f","_tag","xlmeta","Cell","_r","write_ws_xml","rdata","_drawing","needed","vbaraw","cname","Workbook","outlineprops","summaryBelow","summaryRight","above","write_ws_xml_sheetpr","sview","workbookViewId","Views","rightToLeft","RTL","write_ws_xml_sheetviews","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","params","height","_cell","customHeight","write_ws_xml_data","write_ws_xml_protection","Names","Sheet","Ref","write_ws_xml_autofilter","merges","margin","relc","location","tooltip","ignoreEC","numberStoredAsText","sqref","write_row_header","ncolspan","lcs","caddr","first","last","write_BrtRowHdr","parse_BrtWsDim","write_BrtWsDim","parse_BrtShortReal","parse_BrtMergeCell","write_BrtMergeCell","BrtMarginKeys","write_ws_bin_cell","last_seen","ncell","write_BrtShortIsst","write_BrtCellIsst","write_BrtShortSt","write_BrtCellSt","write_BrtShortRk","write_BrtCellRk","write_BrtShortReal","write_BrtCellReal","write_BrtShortBool","write_BrtCellBool","write_BrtShortError","write_BrtCellError","write_BrtShortBlank","write_BrtCellBlank","write_ws_bin","write_BrtWsProp","write_BrtBeginWsView","write_WSVIEWS2","write_BrtColInfo","write_COLINFOS","cap","write_CELLTABLE","write_SHEETPROTECT","write_AUTOFILTER","write_MERGECELLS","locidx","write_BrtHLink","write_HLINKS","write_IGNOREECS","write_LEGACYDRAWING","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","defaults","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","badchars","check_ws_name","_good","check_wb","N","codes","cn","wbnsregex","write_wb_xml","write_names","workbookPr","Hidden","sheetId","Comment","localSheetId","write_BrtBundleSh","iTabID","strRelID","parse_BrtFRTArchID$","ArchID","write_wb_bin","write_BrtFileVersion","filterPrivacy","write_BrtWbProp","vistab","write_BOOKVIEWS","write_BUNDLESHS","parse_ws","ai","af","vm","seencol","RR","aii","_d","relId","Rel","rfx","tmpref","parse_ws_bin","data1","data2","mtch","parse_ws_xml_sheetpr2","parse_ws_xml_dim","svs","zoomScale","zoom","parse_ws_xml_sheetviews","columns","coli","colm","colM","parse_ws_xml_cols","afilter","parse_ws_xml_autofilter","_merge","hlink","rng","parse_ws_xml_hlinks","parse_ws_xml","write_ws","write_cmnt","XLMLFormatMap","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_set_custprop","Custprops","oval","process_style_xlml","stag","Interior","I","Pattern","parse_xlml_data","csty","nf","sid","StyleID","interiors","Parent","UTC","safe_format_xlml","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","Rn","opening","ishtml","_o","html_to_sheet","book_append_sheet","html_to_workbook","Currency","Fixed","Standard","Percent","Scientific","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","raw_Rn3","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_name_xlml","write_ws_xlml_cell","attr","mi","_v","write_ws_xlml_row","write_ws_xlml","write_ws_xlml_names","skip","write_ws_xlml_table","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_wsopts","write_xlml","General","xlml_write_docprops","BLACKLIST","xlml_write_custprops","write_props_xlml","write_sty_xlml","write_names_xlml","CONTINUE_RT","slurp","RecordType","insitu","nextrt","XLSRecordEnum","ll","safe_format_xf","make_cell","PSCLSID","parse_xlscfb","CompObj","WorkbookP","AnsiUserType","AnsiClipboardFormat","parse_ClipboardFormatOrAnsiString","Reserved1","UnicodeClipboardFormat","parse_ClipboardFormatOrUnicodeString","Reserved2","parse_compobj","lastcell","cmnt","rngC","rngR","temp_val","country","Directory","last_formula","cur_sheet","Preamble","last_cell","XFs","palette","get_rgb","addcell","file_depth","xfd","icvFore","icvBack","process_cell_style","afi","rrtabid","lastuser","winlocked","wtf","last_lbl","last_RT","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","seen_codepage","Date1904","WriteProtect","cpval","CalcRefMode","FullCalc","fDialog","fBelow","fRight","ExternCount","tmpri","biffguess","fakebs8","rknum","rkrec","_fr","_fc","_fe","_arraystart","isst","_j","_ixfe","b4idx","b2idx","cmo","lastobj","TxO","ImData","noteobj","Encryption","Metadata","Country","parse_workbook","bookVBA","newcfb","newpath","make_vba_xls","DSI","DocSummary","SI","Summary","HeadingPairs","TitlesOfParts","parse_xls_props","bookFiles","Ptg","fBold","fItalic","fUnderline","fStrikeout","fOutline","fShadow","fCondense","fExtend","parse_FontFlags","bCharSet","xColorType","bR","bG","bB","parse_BrtColor","ixfeParent","ifmt","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","fAlwaysCalc","display","idObj","stAuthor","parse_NoteSh","Info","Data","EncryptionVersionInfo","EncryptedVerifier","EncryptedVerifierHash","parse_RC4Header","EncryptionHeader","EncryptionVerifier","parse_RC4CryptoHeader","parse_FilePassHeader","XorArrayIndex","XorArray","verificationBytes","verifier","Value","crypto_DecryptData_Method1","parse_XORObfuscation","dyHeight","fl","Pos","Dim","CurTab","FirstTab","Selected","TabRatio","UserName","fts","parse_BIFF5Obj","parse_FtArray","ccv","rw","rkrecs","lastcol","ixfes","fStyle","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","fsxButton","parse_CellStyleXF","cmcs","ucnt","extsst","dsst","ctab","virtPath","rgst","texts","accel","parse_ControlInfo","cchText","sVer","displayName","targetFrameName","moniker","oleMoniker","guid","fileTime","Loc","extra","parse_URLMoniker","cAnti","ansiPath","parse_FileMoniker","parse_HyperlinkMoniker","parse_Hyperlink","xnum","cUse","wzTooltip","cxfs","crc","cexts","cchComment","themeXML","parse_frtHeader","num","env","lcb","write_BIFF2Cell","write_ws_biff2_cell","write_BIFF2NUM","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff8_cell","bf","o1","write_FormulaValue","o3","write_Formula","write_Number","write_BoolErr","write_LabelSst","b8","write_Label","write_ws_biff8","guts","_WB","_sheet","MAX_ROWS","write_ColInfo","write_ws_cols_biff8","write_Dimensions","write_Window2","write_MergeCells","HL","write_ws_biff8_hlinks","write_FEAT","write_biff8_global","_sheets","_wb","writezeroes","write_WriteAccess","write_RRTabId","safe1904","write_Font","write_FONTS_biff8","write_FMTS_biff8","write_CELLXFS_biff8","write_Country","write_biff_continue","write_SST","blen","write_biff_buf","fix_write_opts","write_biff8_buf","write_ws_biff2","write_biff2_buf","mtch2","hd","midx","colspan","rowspan","_t","make_html_row","editable","HTML_BEGIN","HTML_END","make_html_preamble","sheet_to_html","sheet_add_dom","or_R","or_C","getElementsByTagName","is_dom_element_hidden","elts","hasAttribute","getAttribute","innerHTML","Aelts","Aelti","parse_dom_table","element","get_computed_style","ownerDocument","defaultView","getComputedStyle","get_get_computed_style_function","getPropertyValue","parse_text_p","fixed","number_formats_ods","day","month","year","hours","minutes","seconds","era","quarter","parse_content_xml","sheetag","rowtag","NFtag","ctag","textp","textpidx","textR","row_ol","number_format_map","mrange","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","ptp","parse_ods","FEtag","parse_manifest","write_styles_ods","master_styles","write_content_ods","write_text_p","null_cell_xml","ods","ROWS","_Fref","text_p","_tgt","fods","cidx","colobj","write_automatic_styles_ods","write_ods","manifest","rdf","write_rdf","write_manifest","u8_to_dataview","array","DataView","buffer","byteOffset","byteLength","u8str","u8","stru8","u8concat","u8a","reduce","acc","popcnt","parse_varint49","ptr","varint","write_varint49","varint_to_i32","i32","parse_shallow","write_shallow","proto","item","mappa","parse_iwa_file","_a","messages","merge","write_iwa_file","ias","ia","midata","aipayload","mid","parse_snappy_chunk","chunks","decompress_iwa_file","compress_iwa_file","frame","write_new_storage","dv","exp","mantissa","writeDecimal128LE","setFloat64","setUint32","write_old_storage","parse_cell_storage","rsst","getUint32","data_offset","ieee","getFloat64","parse_old_storage","d128","readDecimal128LE","parse_new_storage","parse_TSP_Reference","parse_TST_TableDataList","pb","le","rtp","rtpref","mtype","tswpsa","parse_TST_TableInfoArchive","tableref","store","tile","tl","_tile","_b","_c","_e","_g","_h","_i","_k","_l","_m","used_storage_u8","used_storage","wide_offsets","used_storage_offsets","offsets","getUint16","parse_TST_TileRowInfo","nrows","parse_TST_Tile","parse_TST_TableModelArchive","parse_numbers_iwa","indices","packets","packet","docroot","iwam","root2","parse_TN_SheetArchive","parse_TN_DocumentArchive","write_tile_row","tri","last_offset","cell_storage","_dv","_last_offset","_cell_storage","celload","_celload","setUint16","fix_opts_func","safe_parse_sheet","relsPath","sheetRels","stype","parse_cs_bin","parse_cs_xml","parse_cs","dfile","drelsp","draw","parse_drawing","chartp","crelsp","csheet","nc","cache","parse_Cache","parse_chart","parse_ds","tcomments","authors","parse_comments_bin","commentList","authtag","cmnttag","authorId","textMatch","parse_comments_xml","parse_cmnt","tidx","parse_tcmnt_xml","strip_front_slash","_zip","binname","dir","threadedcomments","links","coreprops","extprops","custprops","calcchains","vba","drawings","TODO","ctext","calcchain","parse_ct","parse_sst_bin","parse_sst_xml","parse_sst","parse_theme","parse_sty_bin","parse_sty","link","parse_xlink_bin","parse_xlink","parse_wb_bin","dname","dnstart","parse_wb_xml","parse_wb","propdata","parse_ext_props","toks","warn","parse_cust_props","deps","bookDeps","parse_cc_bin","parse_cc_xml","wbsheets","wbext","wbrelsi","wbrelsfile","wbrels","Types","metatype","parse_xlmeta_bin","lastmeta","parse_xlmeta_xml","parse_xlmeta","displayname","parse_people_xml","safe_parse_wbrels","nmode","wsloop","snjseen","snj","Deps","Styles","bin","parse_xlsxcfb","U","dsm","parse_DataSpaceMap","seds","parse_DataSpaceDefinition","parse_TransformInfoHeader","ename","cmode","parse_Primary","einfo","parse_EncryptionInfo","decrypt_agile","decrypt_std76","numbers","trunc","dependents","packet2","x2","y2","indices_varint","ivi","some","mess","search","u8contains","xi","sheetrootref","cruidsref","oldbucket","_x","cruids","uuid","row_header_ref","base_bucket","_bucket","col_header_ref","sstref","sstroot","sentry","sx","sxi","sstdata","newsst","raw32","tileref","tileroot","tentry","tx","tiledata","rowload","R2","tilerow","raw3","write_numbers_iwa","foo","vbafmt","_sn","wsrels","need_vml","rId1","write_sst","write_wb","write_sty","write_zip_xlsxb","write_zip_xlsx","needtc","person","userId","providerId","write_people_xml","read_plaintext","main","read_prn","readSync","infile","read_binary","bstrify","ab","vu","read_cfb","OLD_WTF","read_wb_ID","read_zip","read_utf16","read_plaintext_raw","write_cfb_ctr","write_zip_denouement","oopts","ftype","nodebuffer","string","generate","encrypt_agile","write_string_type","bom","write_binary_type","writeSyncXLSX","write_zip_typeXLSX","writeSync","write_stxt_type","sheet_to_txt","sheet_to_csv","wbpath","Keys","DSEntries","SEntries","CEntries","DocSummaryRE","SummaryRE","CEntries2","write_xls_props","fill_vba_xls","write_xlscfb","write_cfb_type","write_zip_type","resolve_book_type","xls","slk","socialcalc","Sh33tJS","writeFileSyncXLSX","writeFileAsync","_cb","Function","make_json_row","defval","isempty","defineProperty","enumerable","__rowNum__","rawNumbers","outi","counter","header_cnt","skipHidden","blankrows","qreg","make_csv_row","txt","forceQuotes","endregex","strip","sheet_add_json","js","skipHeader","JS","ws_get_cell_stub","RC","roll","cell_set_hyperlink","_Readable","split_cell","json_to_sheet","table_to_sheet","table_to_book","sheet_to_formulae","cmds","sheet_to_row_object_array","sheet_get_cell","book_new","book_set_sheet_visibility","sh","vis","wb_sheet_idx","cell_set_number_format","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","dynamic","rngstr","SHEET_VISIBLE","SHEET_HIDDEN","SHEET_VERY_HIDDEN","__stream","to_json","stream","objectMode","_read","to_html","to_csv","BOM","set_readable"],"sourceRoot":""} \ No newline at end of file diff --git a/dash/dash_table/async-highlight.js b/dash/dash_table/async-highlight.js index 12068d9d51..da724ee9dd 100644 --- a/dash/dash_table/async-highlight.js +++ b/dash/dash_table/async-highlight.js @@ -1,2 +1,2 @@ -(self.webpackChunkdash_table=self.webpackChunkdash_table||[]).push([[254],{3948:function(u,e,D){"use strict";D.d(e,{default:function(){return P}});var n=D(2006),t=D(5072),a=D.n(t),r=D(7825),i=D.n(r),o=D(7659),s=D.n(o),c=D(5056),F=D.n(c),l=D(540),A=D.n(l),E=D(1113),C=D.n(E),d=D(6991),g={};g.styleTagTransform=C(),g.setAttributes=F(),g.insert=s().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=A(),a()(d.A,g),d.A&&d.A.locals&&d.A.locals;var B=[].concat(["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"]),b=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),p=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),m=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),f=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","corner-bottom-left-shape","corner-bottom-right-shape","corner-shape","corner-top-left-shape","corner-top-right-shape","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function h(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));var N="[A-Za-z$_][0-9A-Za-z$_]*",S=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],O=["true","false","null","undefined","NaN","Infinity"],M=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],j=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],T=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],R=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],I=[].concat(T,M,j),L={scope:"number",match:"([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",relevance:0};function z(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D",contains:[{beginKeywords:"in out"},D]},C=u.IDENT_RE+"(<"+u.IDENT_RE+"(\\s*,\\s*"+u.IDENT_RE+")*>)?(\\[\\])?",d={begin:"@"+u.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:e,illegal:/::/,contains:[u.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},A,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},D,E,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[D,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[D,E,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+C+"\\s+)+"+u.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:e,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:u.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[u.TITLE_MODE,E],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,relevance:0,contains:[A,a,u.C_BLOCK_COMMENT_MODE]},u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},d]}}),n.registerLanguage("css",function(u){var e=u.regex,D=function(u){return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:u.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:u.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}}(u),n=[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[D.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},D.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},D.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+p.join("|")+")"},{begin:":(:)?("+m.join("|")+")"}]},D.CSS_VARIABLE,{className:"attribute",begin:"\\b("+f.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[D.BLOCK_COMMENT,D.HEXCOLOR,D.IMPORTANT,D.CSS_NUMBER_MODE,D.UNICODE_RANGE].concat(n,[{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[].concat(n,[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}])},D.FUNCTION_DISPATCH])},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:b.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"}].concat(n,[D.CSS_NUMBER_MODE])}]},{className:"selector-tag",begin:"\\b("+B.join("|")+")\\b"}]}}),n.registerLanguage("fsharp",function(u){var e={scope:"keyword",match:/\b(yield|return|let|do|match|use)!/},D=["bool","byte","sbyte","int8","int16","int32","uint8","uint16","uint32","int","uint","int64","uint64","nativeint","unativeint","decimal","float","double","float32","single","char","string","unit","bigint","option","voption","list","array","seq","byref","exn","inref","nativeptr","obj","outref","voidptr","Result"],n={keyword:["abstract","and","as","assert","base","begin","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","extern","finally","fixed","for","fun","function","global","if","in","inherit","inline","interface","internal","lazy","let","match","member","module","mutable","namespace","new","of","open","or","override","private","public","rec","return","static","struct","then","to","try","type","upcast","use","val","void","when","while","with","yield"],literal:["true","false","null","Some","None","Ok","Error","infinity","infinityf","nan","nanf"],built_in:["not","ref","raise","reraise","dict","readOnlyDict","set","get","enum","sizeof","typeof","typedefof","nameof","nullArg","invalidArg","invalidOp","id","fst","snd","ignore","lock","using","box","unbox","tryUnbox","printf","printfn","sprintf","eprintf","eprintfn","fprintf","fprintfn","failwith","failwithf"],"variable.constant":["__LINE__","__SOURCE_DIRECTORY__","__SOURCE_FILE__"]},t={variants:[u.COMMENT(/\(\*(?!\))/,/\*\)/,{contains:["self"]}),u.C_LINE_COMMENT_MODE]},a={scope:"variable",begin:/``/,end:/``/},r=/\B('|\^)/,i={scope:"symbol",variants:[{match:w(r,/``.*?``/)},{match:w(r,u.UNDERSCORE_IDENT_RE)}],relevance:0},o=function(u){var e;e=u.includeEqual?"!%&*+-/<=>@^|~?":"!%&*+-/<>@^|~?";var D,n=Array.from(e),t=w.apply(void 0,["["].concat(function(u){if(Array.isArray(u))return h(u)}(D=n.map(v))||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(D)||function(u,e){if(u){if("string"==typeof u)return h(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?h(u,e):void 0}}(D)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),["]"])),a=k(t,/\./),r=w(a,x(a)),i=k(w(r,a,"*"),w(t,"+"));return{scope:"operator",match:k(i,/:\?>/,/:\?/,/:>/,/:=/,/::?/,/\$/),relevance:0}},s=o({includeEqual:!0}),c=o({includeEqual:!1}),F=function(e,r){return{begin:w(e,x(w(/\s*/,k(/\w/,/'/,/\^/,/#/,/``/,/\(/,/{\|/)))),beginScope:r,end:x(k(/\n/,/=/)),relevance:0,keywords:u.inherit(n,{type:D}),contains:[t,i,u.inherit(a,{scope:null}),c]}},l=F(/:/,"operator"),A=F(/\bof\b/,"keyword"),E={begin:[/(^|\s+)/,/type/,/\s+/,/[a-zA-Z_](\w|')*/],beginScope:{2:"keyword",4:"title.class"},end:x(/\(|=|$/),keywords:n,contains:[t,u.inherit(a,{scope:null}),i,{scope:"operator",match:/<|>/},l]},C={scope:"computation-expression",match:/\b[_a-z]\w*(?=\s*\{)/},d={begin:[/^\s*/,w(/#/,k.apply(void 0,["if","else","endif","line","nowarn","light","r","i","I","load","time","help","quit"])),/\b/],beginScope:{2:"meta"},end:x(/\s|$/)},g={variants:[u.BINARY_NUMBER_MODE,u.C_NUMBER_MODE]},B={scope:"string",begin:/"/,end:/"/,contains:[u.BACKSLASH_ESCAPE]},b={scope:"string",begin:/@"/,end:/"/,contains:[{match:/""/},u.BACKSLASH_ESCAPE]},p={scope:"string",begin:/"""/,end:/"""/,relevance:2},m={scope:"subst",begin:/\{/,end:/\}/,keywords:n},f={scope:"string",begin:/\$"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},u.BACKSLASH_ESCAPE,m]},y={scope:"string",begin:/(\$@|@\$)"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},{match:/""/},u.BACKSLASH_ESCAPE,m]},_={scope:"string",begin:/\$"""/,end:/"""/,contains:[{match:/\{\{/},{match:/\}\}/},m],relevance:2},N={scope:"string",match:w(/'/,k(/[^\\']/,/\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8})/),/'/)};return m.contains=[y,f,b,B,N,e,t,a,l,C,d,g,i,s],{name:"F#",aliases:["fs","f#"],keywords:n,illegal:/\/\*/,classNameAliases:{"computation-expression":"keyword"},contains:[e,{variants:[_,y,f,p,b,B,N]},t,a,E,{scope:"meta",begin:/\[\]/,relevance:2,contains:[a,p,b,B,N,g]},A,l,C,d,g,i,s]}}),n.registerLanguage("http",function(u){var e="HTTP/([32]|1\\.[01])",D={className:"attribute",begin:u.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},n=[D,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+e+" \\d{3})",end:/$/,contains:[{className:"meta",begin:e},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:n}},{begin:"(?=^[A-Z]+ (.*?) "+e+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:e},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:n}},u.inherit(D,{relevance:0})]}}),n.registerLanguage("javascript",function(u){var e=u.regex,D=N,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:function(u,e){var D=u[0].length+u.index,n=u.input[D];if("<"!==n&&","!==n){var t;">"===n&&(function(u,e){var D=e.after,n="",x={match:[/const|var|let/,/\s+/,D,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[b]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:t,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:m},illegal:/#(?![$_A-Za-z])/,contains:[u.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,c,F,l,A,E,{match:/\$\d+/},o,m,{scope:"attr",match:D+e.lookahead(":"),relevance:0},x,{begin:"("+u.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,u.REGEXP_MODE,{className:"function",begin:_,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:u.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},f,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+u.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[b,u.inherit(u.TITLE_MODE,{begin:D,className:"title.function"})]},{match:/\.\.\./,relevance:0},y,{match:"\\$"+D,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[b]},h,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},p,v,{match:/\$[(.]/}]}}),n.registerLanguage("json",function(u){var e=["true","false","null"],D={scope:"literal",beginKeywords:e.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:e},contains:[{className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,D,L,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}),n.registerLanguage("julia",function(u){var e="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",D={$pattern:e,keyword:["baremodule","begin","break","catch","ccall","const","continue","do","else","elseif","end","export","false","finally","for","function","global","if","import","in","isa","let","local","macro","module","quote","return","true","try","using","where","while"],literal:["ARGS","C_NULL","DEPOT_PATH","ENDIAN_BOM","ENV","Inf","Inf16","Inf32","Inf64","InsertionSort","LOAD_PATH","MergeSort","NaN","NaN16","NaN32","NaN64","PROGRAM_FILE","QuickSort","RoundDown","RoundFromZero","RoundNearest","RoundNearestTiesAway","RoundNearestTiesUp","RoundToZero","RoundUp","VERSION|0","devnull","false","im","missing","nothing","pi","stderr","stdin","stdout","true","undef","π","ℯ"],built_in:["AbstractArray","AbstractChannel","AbstractChar","AbstractDict","AbstractDisplay","AbstractFloat","AbstractIrrational","AbstractMatrix","AbstractRange","AbstractSet","AbstractString","AbstractUnitRange","AbstractVecOrMat","AbstractVector","Any","ArgumentError","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError","LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","ProcessFailedException","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","TaskFailedException","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","UndefKeywordError","UndefRefError","UndefVarError","Union","UnionAll","UnitRange","Unsigned","Val","Vararg","VecElement","VecOrMat","Vector","VersionNumber","WeakKeyDict","WeakRef"]},n={keywords:D,illegal:/<\//},t={className:"subst",begin:/\$\(/,end:/\)/,keywords:D},a={className:"variable",begin:"\\$"+e},r={className:"string",contains:[u.BACKSLASH_ESCAPE,t,a],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},i={className:"string",contains:[u.BACKSLASH_ESCAPE,t,a],begin:"`",end:"`"},o={className:"meta",begin:"@"+e};return n.name="Julia",n.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},r,i,o,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},u.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],t.contains=n.contains,n}),n.registerLanguage("markdown",function(u){var e={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},D={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:u.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},n={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},t={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},a=u.inherit(n,{contains:[]}),r=u.inherit(t,{contains:[]});n.contains.push(r),t.contains.push(a);var i=[e,D];return[n,t,a,r].forEach(function(u){u.contains=u.contains.concat(i)}),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:i=i.concat(n,t)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:i}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},{match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},n,t,{className:"quote",begin:"^>\\s+",contains:i,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},D,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}),n.registerLanguage("matlab",function(u){var e="('|\\.')+",D={relevance:0,contains:[{begin:e}]};return{name:"Matlab",keywords:{keyword:"arguments break case catch classdef continue else elseif end enumeration events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell "},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[u.UNDERSCORE_TITLE_MODE,{className:"params",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}]}]},{className:"built_in",begin:/true|false/,relevance:0,starts:D},{begin:"[a-zA-Z][a-zA-Z_0-9]*"+e,relevance:0},{className:"number",begin:u.C_NUMBER_RE,relevance:0,starts:D},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{begin:/\]|\}|\)/,relevance:0,starts:D},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}],starts:D},u.COMMENT("^\\s*%\\{\\s*$","^\\s*%\\}\\s*$"),u.COMMENT("%","$")]}}),n.registerLanguage("plaintext",function(u){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}),n.registerLanguage("python",function(u){var e=u.regex,D=/(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2-\uDFF6]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])(?:[0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088F\u0897-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5C\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDC-\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF65-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDD40-\uDD65\uDD69-\uDD6D\uDD6F-\uDD85\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDEC2-\uDEC7\uDEFA-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E-\uDE41\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD3\uDFE1\uDFE2]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDED0-\uDEE3\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8\uDF60-\uDF67\uDFC0-\uDFE0\uDFF0-\uDFF9]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDDB0-\uDDDB\uDDE0-\uDDE9\uDEE0-\uDEF6\uDF00-\uDF10\uDF12-\uDF3A\uDF3E-\uDF42\uDF50-\uDF5A\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC40-\uDC55\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD39]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDD70-\uDD79\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0-\uDFF6]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDCF0-\uDCF9\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC30-\uDC6D\uDC8F\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDCD0-\uDCF9\uDDD0-\uDDFA\uDEC0-\uDEDE\uDEE0-\uDEF5\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]|\uDB40[\uDD00-\uDDEF])*/,n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","lazy","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],t={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","aiter","all","anext","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozendict","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","sentinel","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},a={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/,end:/\}/,keywords:t,illegal:/#/},i={begin:/\{\{/,relevance:0},o={className:"string",contains:[u.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[u.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[u.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[u.BACKSLASH_ESCAPE,a,i,r]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[u.BACKSLASH_ESCAPE,a,i,r]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[u.BACKSLASH_ESCAPE,i,r]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[u.BACKSLASH_ESCAPE,i,r]},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE]},s="[0-9](_?[0-9])*",c="(\\b(".concat(s,"))?\\.(").concat(s,")|\\b(").concat(s,")\\."),F="\\b|".concat(n.join("|")),l={className:"number",relevance:0,variants:[{begin:"(\\b(".concat(s,")|(").concat(c,"))[eE][+-]?(").concat(s,")[jJ]?(?=").concat(F,")")},{begin:"(".concat(c,")[jJ]?")},{begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=".concat(F,")")},{begin:"\\b0[bB](_?[01])+[lL]?(?=".concat(F,")")},{begin:"\\b0[oO](_?[0-7])+[lL]?(?=".concat(F,")")},{begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=".concat(F,")")},{begin:"\\b(".concat(s,")[jJ](?=").concat(F,")")}]},A={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:t,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},E={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:["self",a,l,o,u.HASH_COMMENT_MODE]}]};return r.contains=[o,l,a],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:t,illegal:/(<\/|\?)|=>/,contains:[a,l,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},o,A,u.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,D],scope:{1:"keyword",3:"title.function"},contains:[E]},{variants:[{match:[/\bclass/,/\s+/,D,/\s*/,/\(\s*/,D,/\s*\)/]},{match:[/\bclass/,/\s+/,D]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[l,E,o]}]}}),n.registerLanguage("r",function(u){var e=u.regex,D=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=e.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),t=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:D,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[u.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:D},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),u.HASH_COMMENT_MODE,{scope:"string",contains:[u.BACKSLASH_ESCAPE],variants:[u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[t,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[a,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[D,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:t},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}),n.registerLanguage("ruby",function(u){var e=u.regex,D="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),t=e.concat(n,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield"].concat(["include","extend","prepend","public","private","protected","raise","throw"]),built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},r={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},o=[u.COMMENT("#","$",{contains:[r]}),u.COMMENT("^=begin","^=end",{contains:[r],relevance:10}),u.COMMENT("^__END__",u.MATCH_NOTHING_RE)],s={className:"subst",begin:/#\{/,end:/\}/,keywords:a},c={className:"string",contains:[u.BACKSLASH_ESCAPE,s],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[u.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[u.BACKSLASH_ESCAPE,s]})]}]},F="[0-9](_?[0-9])*",l={className:"number",relevance:0,variants:[{begin:"\\b(".concat("[1-9](_?[0-9])*|0",")(\\.(").concat(F,"))?([eE][+-]?(").concat(F,")|r)?i?\\b")},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},A={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},E=[c,{variants:[{match:[/class\s+/,t,/\s+<\s+/,t]},{match:[/\b(class|module)\s+/,t]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,t],scope:{2:"title.class"},keywords:a},{relevance:0,match:[t,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,D],scope:{1:"keyword",3:"title.function"},contains:[A]},{begin:"::"},{className:"symbol",begin:u.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[c,{begin:D}],relevance:0},l,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+u.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[u.BACKSLASH_ESCAPE,s],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(i,o),relevance:0}].concat(i,o);s.contains=E,A.contains=E;var C=[{begin:/^\s*=>/,starts:{end:"$",contains:E}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:a,contains:E}}];return o.unshift(i),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[u.SHEBANG({binary:"ruby"})].concat(C).concat(o).concat(E)}}),n.registerLanguage("shell",function(u){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[./~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}),n.registerLanguage("sql",function(u){var e=u.regex,D=u.COMMENT("--","$"),n=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],t=n,a=[].concat(["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],["add","asc","collation","desc","final","first","last","view"]).filter(function(u){return!n.includes(u)}),r={match:e.concat(/\b/,e.either.apply(e,t),/\s*\(/),relevance:0,keywords:{built_in:t}};function i(u){return e.concat(/\b/,e.either.apply(e,function(u){if(Array.isArray(u))return z(u)}(D=u.map(function(u){return u.replace(/\s+/,"\\s+")}))||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(D)||function(u,e){if(u){if("string"==typeof u)return z(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?z(u,e):void 0}}(D)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),/\b/);var D}var o={scope:"keyword",match:i(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},D=e.exceptions,n=e.when;return D=D||[],u.map(function(u){return u.match(/\|\d+$/)||D.includes(u)?u:n(u)?"".concat(u,"|0"):u})}(a,{when:function(u){return u.length<3}}),literal:["true","false","unknown"],type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{scope:"type",match:i(["double precision","large object","with timezone","without timezone"])},o,r,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{match:/""/}]},u.C_NUMBER_MODE,u.C_BLOCK_COMMENT_MODE,D,{scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}),n.registerLanguage("xml",function(u){var e=u.regex,D=e.concat(/(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])/,e.optional(/(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*:/),/(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=u.inherit(t,{begin:/\(/,end:/\)/}),r=u.inherit(u.APOS_STRING_MODE,{className:"string"}),i=u.inherit(u.QUOTE_STRING_MODE,{className:"string"}),o={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[t,i,r,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[t,a,i,r]}]}]},u.COMMENT(//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[i]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[o],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[o],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:D,relevance:0,starts:o}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(D,/>/))),contains:[{className:"name",begin:D,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}),n.registerLanguage("yaml",function(u){var e="true false yes no null",D="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[u.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},t=u.inherit(n,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),a={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},r={begin:/\{/,end:/\}/,contains:[a],illegal:"\\n",relevance:0},i={begin:"\\[",end:"\\]",contains:[a],illegal:"\\n",relevance:0},o=[{className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+D},{className:"type",begin:"!<"+D+">"},{className:"type",begin:"!"+D},{className:"type",begin:"!!"+D},{className:"meta",begin:"&"+u.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+u.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},u.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:u.C_NUMBER_RE+"\\b",relevance:0},r,i,{className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},n],s=[].concat(o);return s.pop(),s.push(t),a.contains=s,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:o}});var P=n},6991:function(u,e,D){"use strict";var n=D(1354),t=D.n(n),a=D(6314),r=D.n(a)()(t());r.push([u.id,"pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #24292e;\n background: #ffffff\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}","",{version:3,sources:["webpack://./node_modules/highlight.js/styles/github.css"],names:[],mappings:"AAAA;EACE,cAAc;EACd,gBAAgB;EAChB;AACF;AACA;EACE;AACF;AACA;;;;;;;;;CASC;AACD;EACE,cAAc;EACd;AACF;AACA;;;;;;;EAOE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,+BAA+B;EAC/B;AACF;AACA;;;;;;;;;;EAUE,iCAAiC;EACjC;AACF;AACA;;;EAGE,+BAA+B;EAC/B;AACF;AACA;;EAEE,iCAAiC;EACjC;AACF;AACA;;;EAGE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,mCAAmC;EACnC;AACF;AACA;EACE,gDAAgD;EAChD;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC;AACF;AACA;EACE,sCAAsC;EACtC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC,cAAc;EACd;AACF;AACA;EACE,wCAAwC;EACxC,cAAc;EACd;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;;;;;;EAME,sBAAsB;;AAExB",sourcesContent:["pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #24292e;\n background: #ffffff\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}"],sourceRoot:""}]),e.A=r},6314:function(u){"use strict";u.exports=function(u){var e=[];return e.toString=function(){return this.map(function(e){var D="",n=void 0!==e[5];return e[4]&&(D+="@supports (".concat(e[4],") {")),e[2]&&(D+="@media ".concat(e[2]," {")),n&&(D+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),D+=u(e),n&&(D+="}"),e[2]&&(D+="}"),e[4]&&(D+="}"),D}).join("")},e.i=function(u,D,n,t,a){"string"==typeof u&&(u=[[null,u,void 0]]);var r={};if(n)for(var i=0;i0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),D&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=D):c[2]=D),t&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=t):c[4]="".concat(t)),e.push(c))}},e}},1354:function(u){"use strict";u.exports=function(u){var e=u[1],D=u[3];if(!D)return e;if("function"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(D)))),t="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),a="/*# ".concat(t," */");return[e].concat([a]).join("\n")}return[e].join("\n")}},5072:function(u){"use strict";var e=[];function D(u){for(var D=-1,n=0;n0?" ".concat(D.layer):""," {")),n+=D.css,t&&(n+="}"),D.media&&(n+="}"),D.supports&&(n+="}");var a=D.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(n,u,e.options)}(e,u,D)},remove:function(){!function(u){if(null===u.parentNode)return!1;u.parentNode.removeChild(u)}(e)}}}},1113:function(u){"use strict";u.exports=function(u,e){if(e.styleSheet)e.styleSheet.cssText=u;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(u))}}},2006:function(u){function e(u){var D="function"==typeof Map?new Map:void 0;return e=function(u){if(null===u||!function(u){try{return-1!==Function.toString.call(u).indexOf("[native code]")}catch(e){return"function"==typeof u}}(u))return u;if("function"!=typeof u)throw new TypeError("Super expression must either be null or a function");if(void 0!==D){if(D.has(u))return D.get(u);D.set(u,e)}function e(){return function(u,e,D){if(t())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var a=new(u.bind.apply(u,n));return D&&i(a,D.prototype),a}(u,arguments,a(this).constructor)}return e.prototype=Object.create(u.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),i(e,u)},e(u)}function D(u,e){return function(u){if(Array.isArray(u))return u}(u)||function(u,e){var D=null==u?null:"undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=D){var n,t,a,r,i=[],o=!0,s=!1;try{if(a=(D=D.call(u)).next,0===e){if(Object(D)!==D)return;o=!1}else for(;!(o=(n=a.call(D)).done)&&(i.push(n.value),i.length!==e);o=!0);}catch(u){s=!0,t=u}finally{try{if(!o&&null!=D.return&&(r=D.return(),Object(r)!==r))return}finally{if(s)throw t}}return i}}(u,e)||s(u,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(u,e,D){return e=a(e),function(u,e){if(e&&("object"==C(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(u){if(void 0===u)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}(u)}(u,t()?Reflect.construct(e,D||[],a(u).constructor):e.apply(u,D))}function t(){try{var u=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(u){}return(t=function(){return!!u})()}function a(u){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(u){return u.__proto__||Object.getPrototypeOf(u)},a(u)}function r(u,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),Object.defineProperty(u,"prototype",{writable:!1}),e&&i(u,e)}function i(u,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(u,e){return u.__proto__=e,u},i(u,e)}function o(u){return function(u){if(Array.isArray(u))return c(u)}(u)||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(u)||s(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(u,e){if(u){if("string"==typeof u)return c(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?c(u,e):void 0}}function c(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D/g,">").replace(/"/g,""").replace(/'/g,"'")}function b(u){var e=Object.create(null);for(var D in u)e[D]=u[D];for(var n=arguments.length,t=new Array(n>1?n-1:0),a=1;a')}}])}(),f=function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={children:[]};return Object.assign(e,u),e},h=function(u){function e(u){var D;return F(this,e),(D=n(this,e)).options=u,D}return r(e,u),A(e,[{key:"addText",value:function(u){""!==u&&this.add(u)}},{key:"startScope",value:function(u){this.openNode(u)}},{key:"endScope",value:function(){this.closeNode()}},{key:"__addSublanguage",value:function(u,e){var D=u.root;e&&(D.scope="language:".concat(e)),this.add(D)}},{key:"toHTML",value:function(){return new m(this,this.options).value()}},{key:"finalize",value:function(){return this.closeAllNodes(),!0}}])}(function(){function u(){F(this,u),this.rootNode=f(),this.stack=[this.rootNode]}return A(u,[{key:"top",get:function(){return this.stack[this.stack.length-1]}},{key:"root",get:function(){return this.rootNode}},{key:"add",value:function(u){this.top.children.push(u)}},{key:"openNode",value:function(u){var e=f({scope:u});this.add(e),this.stack.push(e)}},{key:"closeNode",value:function(){if(this.stack.length>1)return this.stack.pop()}},{key:"closeAllNodes",value:function(){for(;this.closeNode(););}},{key:"toJSON",value:function(){return JSON.stringify(this.rootNode,null,4)}},{key:"walk",value:function(u){return this.constructor._walk(u,this.rootNode)}}],[{key:"_walk",value:function(u,e){var D=this;return"string"==typeof e?u.addText(e):e.children&&(u.openNode(e),e.children.forEach(function(e){return D._walk(u,e)}),u.closeNode(e)),u}},{key:"_collapse",value:function(e){"string"!=typeof e&&e.children&&(e.children.every(function(u){return"string"==typeof u})?e.children=[e.children.join("")]:e.children.forEach(function(e){u._collapse(e)}))}}])}());function y(u){return u?"string"==typeof u?u:u.source:null}function v(u){return w("(?=",u,")")}function _(u){return w("(?:",u,")*")}function x(u){return w("(?:",u,")?")}function w(){for(var u=arguments.length,e=new Array(u),D=0;D]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function O(u,e){var D=e.joinWith,n=0;return u.map(function(u){for(var e=n+=1,D=y(u),t="";D.length>0;){var a=S.exec(D);if(!a){t+=D;break}t+=D.substring(0,a.index),D=D.substring(a.index+a[0].length),"\\"===a[0][0]&&a[1]?t+="\\"+String(Number(a[1])+e):(t+=a[0],("("===a[0]||/^\(\?[<']/.test(a[0]))&&n++)}return t}).map(function(u){return"(".concat(u,")")}).join(D)}var M="[a-zA-Z]\\w*",j="[a-zA-Z_]\\w*",T="\\b\\d+(\\.\\d+)?",R="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",I="\\b(0b[01]+)",L={begin:"\\\\[\\s\\S]",relevance:0},z={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[L]},P={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[L]},U=function(u,e){var D=b({scope:"comment",begin:u,end:e,contains:[]},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});D.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});var n=k("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return D.contains.push({begin:w(/[ ]+/,"(",n,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),D},$=U("//","$"),H=U("/\\*","\\*/"),Z=U("#","$"),G={scope:"number",begin:T,relevance:0},K={scope:"number",begin:R,relevance:0},q={scope:"number",begin:I,relevance:0},W={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[L,{begin:/\[/,end:/\]/,relevance:0,contains:[L]}]},V={scope:"title",begin:M,relevance:0},Q={scope:"title",begin:j,relevance:0},X={begin:"\\.\\s*"+j,relevance:0},J=Object.freeze({__proto__:null,APOS_STRING_MODE:z,BACKSLASH_ESCAPE:L,BINARY_NUMBER_MODE:q,BINARY_NUMBER_RE:I,COMMENT:U,C_BLOCK_COMMENT_MODE:H,C_LINE_COMMENT_MODE:$,C_NUMBER_MODE:K,C_NUMBER_RE:R,END_SAME_AS_BEGIN:function(u){return Object.assign(u,{"on:begin":function(u,e){e.data._beginMatch=u[1]},"on:end":function(u,e){e.data._beginMatch!==u[1]&&e.ignoreMatch()}})},HASH_COMMENT_MODE:Z,IDENT_RE:M,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:X,NUMBER_MODE:G,NUMBER_RE:T,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:P,REGEXP_MODE:W,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=/^#![ ]*\//;return u.binary&&(u.begin=w(e,/.*\b/,u.binary,/\b.*/)),b({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":function(u,e){0!==u.index&&e.ignoreMatch()}},u)},TITLE_MODE:V,UNDERSCORE_IDENT_RE:j,UNDERSCORE_TITLE_MODE:Q});function Y(u,e){"."===u.input[u.index-1]&&e.ignoreMatch()}function uu(u,e){void 0!==u.className&&(u.scope=u.className,delete u.className)}function eu(u,e){e&&u.beginKeywords&&(u.begin="\\b("+u.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",u.__beforeBegin=Y,u.keywords=u.keywords||u.beginKeywords,delete u.beginKeywords,void 0===u.relevance&&(u.relevance=0))}function Du(u,e){Array.isArray(u.illegal)&&(u.illegal=k.apply(void 0,o(u.illegal)))}function nu(u,e){if(u.match){if(u.begin||u.end)throw new Error("begin & end are not supported with match");u.begin=u.match,delete u.match}}function tu(u,e){void 0===u.relevance&&(u.relevance=1)}var au=function(u,e){if(u.beforeMatch){if(u.starts)throw new Error("beforeMatch cannot be used with starts");var D=Object.assign({},u);Object.keys(u).forEach(function(e){delete u[e]}),u.keywords=D.keywords,u.begin=w(D.beforeMatch,v(D.begin)),u.starts={relevance:0,contains:[Object.assign(D,{endsParent:!0})]},u.relevance=0,delete D.beforeMatch}},ru=["of","and","for","in","not","or","if","then","parent","list","value"];function iu(u,e){var D=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"keyword",n=Object.create(null);return"string"==typeof u?t(D,u.split(" ")):Array.isArray(u)?t(D,u):Object.keys(u).forEach(function(D){Object.assign(n,iu(u[D],e,D))}),n;function t(u,D){e&&(D=D.map(function(u){return u.toLowerCase()})),D.forEach(function(e){var D=e.split("|");n[D[0]]=[u,ou(D[0],D[1])]})}}function ou(u,e){return e?Number(e):function(u){return ru.includes(u.toLowerCase())}(u)?0:1}var su={},cu=function(u){console.error(u)},Fu=function(u){for(var e,D=arguments.length,n=new Array(D>1?D-1:0),t=1;t0&&void 0!==u}),n=this.matchIndexes[D];return e.splice(0,D),Object.assign(e,n)}}])}(),t=function(){return A(function u(){F(this,u),this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0},[{key:"getMatcher",value:function(u){if(this.multiRegexes[u])return this.multiRegexes[u];var e=new n;return this.rules.slice(u).forEach(function(u){var n=D(u,2),t=n[0],a=n[1];return e.addRule(t,a)}),e.compile(),this.multiRegexes[u]=e,e}},{key:"resumingScanAtSamePosition",value:function(){return 0!==this.regexIndex}},{key:"considerAll",value:function(){this.regexIndex=0}},{key:"addRule",value:function(u,e){this.rules.push([u,e]),"begin"===e.type&&this.count++}},{key:"exec",value:function(u){var e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;var D=e.exec(u);if(this.resumingScanAtSamePosition())if(D&&D.index===this.lastIndex);else{var n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,D=n.exec(u)}return D&&(this.regexIndex+=D.position+1,this.regexIndex===this.count&&this.considerAll()),D}}])}();if(u.compilerExtensions||(u.compilerExtensions=[]),u.contains&&u.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return u.classNameAliases=b(u.classNameAliases||{}),function D(n,a){var r,i=n;if(n.isCompiled)return i;[uu,nu,Cu,au].forEach(function(u){return u(n,a)}),u.compilerExtensions.forEach(function(u){return u(n,a)}),n.__beforeBegin=null,[eu,Du,tu].forEach(function(u){return u(n,a)}),n.isCompiled=!0;var s=null;return"object"===C(n.keywords)&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s=s||/\w+/,n.keywords&&(n.keywords=iu(n.keywords,u.case_insensitive)),i.keywordPatternRe=e(s,!0),a&&(n.begin||(n.begin=/\B|\b/),i.beginRe=e(i.begin),n.end||n.endsWithParent||(n.end=/\B|\b/),n.end&&(i.endRe=e(i.end)),i.terminatorEnd=y(i.end)||"",n.endsWithParent&&a.terminatorEnd&&(i.terminatorEnd+=(n.end?"|":"")+a.terminatorEnd)),n.illegal&&(i.illegalRe=e(n.illegal)),n.contains||(n.contains=[]),n.contains=(r=[]).concat.apply(r,o(n.contains.map(function(u){return function(u){return u.variants&&!u.cachedVariants&&(u.cachedVariants=u.variants.map(function(e){return b(u,{variants:null},e)})),u.cachedVariants?u.cachedVariants:gu(u)?b(u,{starts:u.starts?b(u.starts):null}):Object.isFrozen(u)?b(u):u}("self"===u?n:u)}))),n.contains.forEach(function(u){D(u,i)}),n.starts&&D(n.starts,a),i.matcher=function(u){var e=new t;return u.contains.forEach(function(u){return e.addRule(u.begin,{rule:u,type:"begin"})}),u.terminatorEnd&&e.addRule(u.terminatorEnd,{type:"end"}),u.illegal&&e.addRule(u.illegal,{type:"illegal"}),e}(i),i}(u)}function gu(u){return!!u&&(u.endsWithParent||gu(u.starts))}var Bu=function(u){function e(u,D){var t;return F(this,e),(t=n(this,e,[u])).name="HTMLInjectionError",t.html=D,t}return r(e,u),A(e)}(e(Error)),bu=B,pu=b,mu=Symbol("nomatch"),fu=function(u){var e=Object.create(null),n=Object.create(null),t=[],a=!0,r="Could not find the language '{}', did you forget to load/include a language module?",i={disableAutodetect:!0,name:"Plain text",contains:[]},o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:h};function s(u){return o.noHighlightRe.test(u)}function c(u,e,D){var n="",t="";"object"===C(e)?(n=u,D=e.ignoreIllegals,t=e.language):(lu("10.7.0","highlight(lang, code, ...args) has been deprecated."),lu("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),t=u,n=e),void 0===D&&(D=!0);var a={code:n,language:t};f("before:highlight",a);var r=a.result?a.result:F(a.language,a.code,D);return r.code=a.code,f("after:highlight",r),r}function F(u,n,t,i){var s=Object.create(null);function c(u,e){return u.keywords[e]}function A(){if(w.keywords){var u=0;w.keywordPatternRe.lastIndex=0;for(var e=w.keywordPatternRe.exec(S),n="";e;){n+=S.substring(u,e.index);var t=v.case_insensitive?e[0].toLowerCase():e[0],a=c(w,t);if(a){var r=D(a,2),i=r[0],o=r[1];if(N.addText(n),n="",s[t]=(s[t]||0)+1,s[t]<=7&&(O+=o),i.startsWith("_"))n+=e[0];else{var F=v.classNameAliases[i]||i;C(e[0],F)}}else n+=e[0];u=w.keywordPatternRe.lastIndex,e=w.keywordPatternRe.exec(S)}n+=S.substring(u),N.addText(n)}else N.addText(S)}function E(){null!=w.subLanguage?function(){if(""!==S){var u=null;if("string"==typeof w.subLanguage){if(!e[w.subLanguage])return void N.addText(S);u=F(w.subLanguage,S,!0,k[w.subLanguage]),k[w.subLanguage]=u._top}else u=l(S,w.subLanguage.length?w.subLanguage:null);w.relevance>0&&(O+=u.relevance),N.__addSublanguage(u._emitter,u.language)}}():A(),S=""}function C(u,e){""!==u&&(N.startScope(e),N.addText(u),N.endScope())}function d(u,e){for(var D=1,n=e.length-1;D<=n;)if(u._emit[D]){var t=v.classNameAliases[u[D]]||u[D],a=e[D];t?C(a,t):(S=a,A(),S=""),D++}else D++}function B(u,e){return u.scope&&"string"==typeof u.scope&&N.openNode(v.classNameAliases[u.scope]||u.scope),u.beginScope&&(u.beginScope._wrap?(C(S,v.classNameAliases[u.beginScope._wrap]||u.beginScope._wrap),S=""):u.beginScope._multi&&(d(u.beginScope,e),S="")),w=Object.create(u,{parent:{value:w}})}function p(u,e,D){var n=function(u,e){var D=u&&u.exec(e);return D&&0===D.index}(u.endRe,D);if(n){if(u["on:end"]){var t=new g(u);u["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;u.endsParent&&u.parent;)u=u.parent;return u}}if(u.endsWithParent)return p(u.parent,e,D)}function m(u){return 0===w.matcher.regexIndex?(S+=u[0],1):(T=!0,0)}function f(u){var e=u[0],D=n.substring(u.index),t=p(w,u,D);if(!t)return mu;var a=w;w.endScope&&w.endScope._wrap?(E(),C(e,w.endScope._wrap)):w.endScope&&w.endScope._multi?(E(),d(w.endScope,u)):a.skip?S+=e:(a.returnEnd||a.excludeEnd||(S+=e),E(),a.excludeEnd&&(S=e));do{w.scope&&N.closeNode(),w.skip||w.subLanguage||(O+=w.relevance),w=w.parent}while(w!==t.parent);return t.starts&&B(t.starts,u),a.returnEnd?0:e.length}var h={};function y(e,D){var r=D&&D[0];if(S+=e,null==r)return E(),0;if("begin"===h.type&&"end"===D.type&&h.index===D.index&&""===r){if(S+=n.slice(D.index,D.index+1),!a){var i=new Error("0 width match regex (".concat(u,")"));throw i.languageName=u,i.badRule=h.rule,i}return 1}if(h=D,"begin"===D.type)return function(u){for(var e=u[0],D=u.rule,n=new g(D),t=0,a=[D.__beforeBegin,D["on:begin"]];t")+'"');throw o.mode=w,o}if("end"===D.type){var s=f(D);if(s!==mu)return s}if("illegal"===D.type&&""===r)return D.index===n.length||(S+="\n"),1;if(j>1e5&&j>3*D.index)throw new Error("potential infinite loop, way more iterations than matches");return S+=r,r.length}var v=b(u);if(!v)throw cu(r.replace("{}",u)),new Error('Unknown language: "'+u+'"');var _=du(v),x="",w=i||_,k={},N=new o.__emitter(o);!function(){for(var u=[],e=w;e!==v;e=e.parent)e.scope&&u.unshift(e.scope);u.forEach(function(u){return N.openNode(u)})}();var S="",O=0,M=0,j=0,T=!1;try{if(v.__emitTokens)v.__emitTokens(n,N);else{for(w.matcher.considerAll();;){j++,T?T=!1:w.matcher.considerAll(),w.matcher.lastIndex=M;var R=w.matcher.exec(n);if(!R)break;var I=y(n.substring(M,R.index),R);M=R.index+I}y(n.substring(M))}return N.finalize(),x=N.toHTML(),{language:u,value:x,relevance:O,illegal:!1,_emitter:N,_top:w}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:u,value:bu(n),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:M,context:n.slice(M-100,M+100),mode:e.mode,resultSoFar:x},_emitter:N};if(a)return{language:u,value:bu(n),illegal:!1,relevance:0,errorRaised:e,_emitter:N,_top:w};throw e}}function l(u,n){n=n||o.languages||Object.keys(e);var t=function(u){var e={value:bu(u),illegal:!1,relevance:0,_top:i,_emitter:new o.__emitter(o)};return e._emitter.addText(u),e}(u),a=n.filter(b).filter(m).map(function(e){return F(e,u,!1)});a.unshift(t);var r=D(a.sort(function(u,e){if(u.relevance!==e.relevance)return e.relevance-u.relevance;if(u.language&&e.language){if(b(u.language).supersetOf===e.language)return 1;if(b(e.language).supersetOf===u.language)return-1}return 0}),2),s=r[0],c=r[1],l=s;return l.secondBest=c,l}function A(u){var e=function(u){var e=u.className+" ";e+=u.parentNode?u.parentNode.className:"";var D=o.languageDetectRe.exec(e);if(D){var n=b(D[1]);return n||(Fu(r.replace("{}",D[1])),Fu("Falling back to no-highlight mode for this block.",u)),n?D[1]:"no-highlight"}return e.split(/\s+/).find(function(u){return s(u)||b(u)})}(u);if(!s(e))if(f("before:highlightElement",{el:u,language:e}),u.dataset.highlighted)console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);else{if(u.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),o.throwUnescapedHTML))throw new Bu("One of your code blocks includes unescaped HTML.",u.innerHTML);var D=u.textContent,t=e?c(D,{language:e,ignoreIllegals:!0}):l(D);u.innerHTML=t.value,u.dataset.highlighted="yes",function(u,e,D){var t=e&&n[e]||D;u.classList.add("hljs"),u.classList.add("language-".concat(t))}(u,e,t.language),u.result={language:t.language,re:t.relevance,relevance:t.relevance},t.secondBest&&(u.secondBest={language:t.secondBest.language,relevance:t.secondBest.relevance}),f("after:highlightElement",{el:u,result:t,text:D})}}var E=!1;function B(){if("loading"===document.readyState)return E||window.addEventListener("DOMContentLoaded",function(){B()},!1),void(E=!0);document.querySelectorAll(o.cssSelector).forEach(A)}function b(u){return u=(u||"").toLowerCase(),e[u]||e[n[u]]}function p(u,e){var D=e.languageName;"string"==typeof u&&(u=[u]),u.forEach(function(u){n[u.toLowerCase()]=D})}function m(u){var e=b(u);return e&&!e.disableAutodetect}function f(u,e){var D=u;t.forEach(function(u){u[D]&&u[D](e)})}for(var y in Object.assign(u,{highlight:c,highlightAuto:l,highlightAll:B,highlightElement:A,highlightBlock:function(u){return lu("10.7.0","highlightBlock will be removed entirely in v12.0"),lu("10.7.0","Please use highlightElement now."),A(u)},configure:function(u){o=pu(o,u)},initHighlighting:function(){B(),lu("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){B(),lu("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(D,n){var t=null;try{t=n(u)}catch(u){if(cu("Language definition for '{}' could not be registered.".replace("{}",D)),!a)throw u;cu(u),t=i}t.name||(t.name=D),e[D]=t,t.rawDefinition=n.bind(null,u),t.aliases&&p(t.aliases,{languageName:D})},unregisterLanguage:function(u){delete e[u];for(var D=0,t=Object.keys(n);Du.length)&&(e=u.length);for(var D=0,n=Array(e);D]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));var N="[A-Za-z$_][0-9A-Za-z$_]*",S=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],O=["true","false","null","undefined","NaN","Infinity"],M=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],j=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],T=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],R=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],I=[].concat(T,M,j),L={scope:"number",match:"([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",relevance:0};function z(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D",contains:[{beginKeywords:"in out"},D]},C=u.IDENT_RE+"(<"+u.IDENT_RE+"(\\s*,\\s*"+u.IDENT_RE+")*>)?(\\[\\])?",d={begin:"@"+u.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:e,illegal:/::/,contains:[u.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},A,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},D,E,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[D,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[D,E,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+C+"\\s+)+"+u.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:e,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:u.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[u.TITLE_MODE,E],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,relevance:0,contains:[A,a,u.C_BLOCK_COMMENT_MODE]},u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE]},d]}}),n.registerLanguage("css",function(u){var e=u.regex,D=function(u){return{IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:u.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:u.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}}(u),n=[u.APOS_STRING_MODE,u.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[D.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},D.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},D.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+p.join("|")+")"},{begin:":(:)?("+m.join("|")+")"}]},D.CSS_VARIABLE,{className:"attribute",begin:"\\b("+h.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[D.BLOCK_COMMENT,D.HEXCOLOR,D.IMPORTANT,D.CSS_NUMBER_MODE,D.UNICODE_RANGE].concat(n,[{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[].concat(n,[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}])},D.FUNCTION_DISPATCH])},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:b.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"}].concat(n,[D.CSS_NUMBER_MODE])}]},{className:"selector-tag",begin:"\\b("+B.join("|")+")\\b"}]}}),n.registerLanguage("fsharp",function(u){var e={scope:"keyword",match:/\b(yield|return|let|do|match|use)!/},D=["bool","byte","sbyte","int8","int16","int32","uint8","uint16","uint32","int","uint","int64","uint64","nativeint","unativeint","decimal","float","double","float32","single","char","string","unit","bigint","option","voption","list","array","seq","byref","exn","inref","nativeptr","obj","outref","voidptr","Result"],n={keyword:["abstract","and","as","assert","base","begin","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","extern","finally","fixed","for","fun","function","global","if","in","inherit","inline","interface","internal","lazy","let","match","member","module","mutable","namespace","new","of","open","or","override","private","public","rec","return","static","struct","then","to","try","type","upcast","use","val","void","when","while","with","yield"],literal:["true","false","null","Some","None","Ok","Error","infinity","infinityf","nan","nanf"],built_in:["not","ref","raise","reraise","dict","readOnlyDict","set","get","enum","sizeof","typeof","typedefof","nameof","nullArg","invalidArg","invalidOp","id","fst","snd","ignore","lock","using","box","unbox","tryUnbox","printf","printfn","sprintf","eprintf","eprintfn","fprintf","fprintfn","failwith","failwithf"],"variable.constant":["__LINE__","__SOURCE_DIRECTORY__","__SOURCE_FILE__"]},t={variants:[u.COMMENT(/\(\*(?!\))/,/\*\)/,{contains:["self"]}),u.C_LINE_COMMENT_MODE]},a={scope:"variable",begin:/``/,end:/``/},r=/\B('|\^)/,i={scope:"symbol",variants:[{match:w(r,/``.*?``/)},{match:w(r,u.UNDERSCORE_IDENT_RE)}],relevance:0},o=function(u){var e;e=u.includeEqual?"!%&*+-/<=>@^|~?":"!%&*+-/<>@^|~?";var D,n=Array.from(e),t=w.apply(void 0,["["].concat(function(u){if(Array.isArray(u))return f(u)}(D=n.map(v))||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(D)||function(u,e){if(u){if("string"==typeof u)return f(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?f(u,e):void 0}}(D)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),["]"])),a=k(t,/\./),r=w(a,x(a)),i=k(w(r,a,"*"),w(t,"+"));return{scope:"operator",match:k(i,/:\?>/,/:\?/,/:>/,/:=/,/::?/,/\$/),relevance:0}},s=o({includeEqual:!0}),c=o({includeEqual:!1}),F=function(e,r){return{begin:w(e,x(w(/\s*/,k(/\w/,/'/,/\^/,/#/,/``/,/\(/,/{\|/)))),beginScope:r,end:x(k(/\n/,/=/)),relevance:0,keywords:u.inherit(n,{type:D}),contains:[t,i,u.inherit(a,{scope:null}),c]}},l=F(/:/,"operator"),A=F(/\bof\b/,"keyword"),E={begin:[/(^|\s+)/,/type/,/\s+/,/[a-zA-Z_](\w|')*/],beginScope:{2:"keyword",4:"title.class"},end:x(/\(|=|$/),keywords:n,contains:[t,u.inherit(a,{scope:null}),i,{scope:"operator",match:/<|>/},l]},C={scope:"computation-expression",match:/\b[_a-z]\w*(?=\s*\{)/},d={begin:[/^\s*/,w(/#/,k.apply(void 0,["if","else","endif","line","nowarn","light","r","i","I","load","time","help","quit"])),/\b/],beginScope:{2:"meta"},end:x(/\s|$/)},g={variants:[u.BINARY_NUMBER_MODE,u.C_NUMBER_MODE]},B={scope:"string",begin:/"/,end:/"/,contains:[u.BACKSLASH_ESCAPE]},b={scope:"string",begin:/@"/,end:/"/,contains:[{match:/""/},u.BACKSLASH_ESCAPE]},p={scope:"string",begin:/"""/,end:/"""/,relevance:2},m={scope:"subst",begin:/\{/,end:/\}/,keywords:n},h={scope:"string",begin:/\$"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},u.BACKSLASH_ESCAPE,m]},y={scope:"string",begin:/(\$@|@\$)"/,end:/"/,contains:[{match:/\{\{/},{match:/\}\}/},{match:/""/},u.BACKSLASH_ESCAPE,m]},_={scope:"string",begin:/\$"""/,end:/"""/,contains:[{match:/\{\{/},{match:/\}\}/},m],relevance:2},N={scope:"string",match:w(/'/,k(/[^\\']/,/\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8})/),/'/)};return m.contains=[y,h,b,B,N,e,t,a,l,C,d,g,i,s],{name:"F#",aliases:["fs","f#"],keywords:n,illegal:/\/\*/,classNameAliases:{"computation-expression":"keyword"},contains:[e,{variants:[_,y,h,p,b,B,N]},t,a,E,{scope:"meta",begin:/\[\]/,relevance:2,contains:[a,p,b,B,N,g]},A,l,C,d,g,i,s]}}),n.registerLanguage("http",function(u){var e="HTTP/([32]|1\\.[01])",D={className:"attribute",begin:u.regex.concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},n=[D,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+e+" \\d{3})",end:/$/,contains:[{className:"meta",begin:e},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:n}},{begin:"(?=^[A-Z]+ (.*?) "+e+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:e},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:n}},u.inherit(D,{relevance:0})]}}),n.registerLanguage("javascript",function(u){var e=u.regex,D=N,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:function(u,e){var D=u[0].length+u.index,n=u.input[D];if("<"!==n&&","!==n){var t;">"===n&&(function(u,e){var D=e.after,n="",x={match:[/const|var|let/,/\s+/,D,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(_)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[b]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:t,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:m},illegal:/#(?![$_A-Za-z])/,contains:[u.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,c,F,l,A,E,{match:/\$\d+/},o,m,{scope:"attr",match:D+e.lookahead(":"),relevance:0},x,{begin:"("+u.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,u.REGEXP_MODE,{className:"function",begin:_,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:u.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},h,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+u.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[b,u.inherit(u.TITLE_MODE,{begin:D,className:"title.function"})]},{match:/\.\.\./,relevance:0},y,{match:"\\$"+D,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[b]},f,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},p,v,{match:/\$[(.]/}]}}),n.registerLanguage("json",function(u){var e=["true","false","null"],D={scope:"literal",beginKeywords:e.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:e},contains:[{className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE,D,L,u.C_LINE_COMMENT_MODE,u.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}),n.registerLanguage("julia",function(u){var e="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",D={$pattern:e,keyword:["baremodule","begin","break","catch","ccall","const","continue","do","else","elseif","end","export","false","finally","for","function","global","if","import","in","isa","let","local","macro","module","quote","return","true","try","using","where","while"],literal:["ARGS","C_NULL","DEPOT_PATH","ENDIAN_BOM","ENV","Inf","Inf16","Inf32","Inf64","InsertionSort","LOAD_PATH","MergeSort","NaN","NaN16","NaN32","NaN64","PROGRAM_FILE","QuickSort","RoundDown","RoundFromZero","RoundNearest","RoundNearestTiesAway","RoundNearestTiesUp","RoundToZero","RoundUp","VERSION|0","devnull","false","im","missing","nothing","pi","stderr","stdin","stdout","true","undef","π","ℯ"],built_in:["AbstractArray","AbstractChannel","AbstractChar","AbstractDict","AbstractDisplay","AbstractFloat","AbstractIrrational","AbstractMatrix","AbstractRange","AbstractSet","AbstractString","AbstractUnitRange","AbstractVecOrMat","AbstractVector","Any","ArgumentError","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError","LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","ProcessFailedException","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","TaskFailedException","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","UndefKeywordError","UndefRefError","UndefVarError","Union","UnionAll","UnitRange","Unsigned","Val","Vararg","VecElement","VecOrMat","Vector","VersionNumber","WeakKeyDict","WeakRef"]},n={keywords:D,illegal:/<\//},t={className:"subst",begin:/\$\(/,end:/\)/,keywords:D},a={className:"variable",begin:"\\$"+e},r={className:"string",contains:[u.BACKSLASH_ESCAPE,t,a],variants:[{begin:/\w*"""/,end:/"""\w*/,relevance:10},{begin:/\w*"/,end:/"\w*/}]},i={className:"string",contains:[u.BACKSLASH_ESCAPE,t,a],begin:"`",end:"`"},o={className:"meta",begin:"@"+e};return n.name="Julia",n.contains=[{className:"number",begin:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,relevance:0},{className:"string",begin:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},r,i,o,{className:"comment",variants:[{begin:"#=",end:"=#",relevance:10},{begin:"#",end:"$"}]},u.HASH_COMMENT_MODE,{className:"keyword",begin:"\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b"},{begin:/<:/}],t.contains=n.contains,n}),n.registerLanguage("markdown",function(u){var e={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},D={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:u.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},n={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},t={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},a=u.inherit(n,{contains:[]}),r=u.inherit(t,{contains:[]});n.contains.push(r),t.contains.push(a);var i=[e,D];return[n,t,a,r].forEach(function(u){u.contains=u.contains.concat(i)}),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:i=i.concat(n,t)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:i}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},{match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},n,t,{className:"quote",begin:"^>\\s+",contains:i,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},D,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}),n.registerLanguage("matlab",function(u){var e="('|\\.')+",D={relevance:0,contains:[{begin:e}]};return{name:"Matlab",keywords:{keyword:"arguments break case catch classdef continue else elseif end enumeration events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun legend intersect ismember procrustes hold num2cell "},illegal:'(//|"|#|/\\*|\\s+/\\w+)',contains:[{className:"function",beginKeywords:"function",end:"$",contains:[u.UNDERSCORE_TITLE_MODE,{className:"params",variants:[{begin:"\\(",end:"\\)"},{begin:"\\[",end:"\\]"}]}]},{className:"built_in",begin:/true|false/,relevance:0,starts:D},{begin:"[a-zA-Z][a-zA-Z_0-9]*"+e,relevance:0},{className:"number",begin:u.C_NUMBER_RE,relevance:0,starts:D},{className:"string",begin:"'",end:"'",contains:[{begin:"''"}]},{begin:/\]|\}|\)/,relevance:0,starts:D},{className:"string",begin:'"',end:'"',contains:[{begin:'""'}],starts:D},u.COMMENT("^\\s*%\\{\\s*$","^\\s*%\\}\\s*$"),u.COMMENT("%","$")]}}),n.registerLanguage("plaintext",function(u){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}),n.registerLanguage("python",function(u){var e=u.regex,D=/(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2-\uDFF6]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])(?:[0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037B-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088F\u0897-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5C\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDC-\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFC5D\uFC64-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDF9\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE71\uFE73\uFE77\uFE79\uFE7B\uFE7D\uFE7F-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF65-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDD40-\uDD65\uDD69-\uDD6D\uDD6F-\uDD85\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDEC2-\uDEC7\uDEFA-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E-\uDE41\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD3\uDFE1\uDFE2]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDED0-\uDEE3\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8\uDF60-\uDF67\uDFC0-\uDFE0\uDFF0-\uDFF9]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDDB0-\uDDDB\uDDE0-\uDDE9\uDEE0-\uDEF6\uDF00-\uDF10\uDF12-\uDF3A\uDF3E-\uDF42\uDF50-\uDF5A\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC40-\uDC55\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD39]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDD70-\uDD79\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0-\uDFF6]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDCF0-\uDCF9\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC30-\uDC6D\uDC8F\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDCD0-\uDCF9\uDDD0-\uDDFA\uDEC0-\uDEDE\uDEE0-\uDEF5\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]|\uDB40[\uDD00-\uDDEF])*/,n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","lazy","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],t={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","aiter","all","anext","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozendict","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","sentinel","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},a={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/,end:/\}/,keywords:t,illegal:/#/},i={begin:/\{\{/,relevance:0},o={className:"string",contains:[u.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[u.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[u.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[u.BACKSLASH_ESCAPE,a,i,r]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[u.BACKSLASH_ESCAPE,a,i,r]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[u.BACKSLASH_ESCAPE,i,r]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[u.BACKSLASH_ESCAPE,i,r]},u.APOS_STRING_MODE,u.QUOTE_STRING_MODE]},s="[0-9](_?[0-9])*",c="(\\b(".concat(s,"))?\\.(").concat(s,")|\\b(").concat(s,")\\."),F="\\b|".concat(n.join("|")),l={className:"number",relevance:0,variants:[{begin:"(\\b(".concat(s,")|(").concat(c,"))[eE][+-]?(").concat(s,")[jJ]?(?=").concat(F,")")},{begin:"(".concat(c,")[jJ]?")},{begin:"\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=".concat(F,")")},{begin:"\\b0[bB](_?[01])+[lL]?(?=".concat(F,")")},{begin:"\\b0[oO](_?[0-7])+[lL]?(?=".concat(F,")")},{begin:"\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=".concat(F,")")},{begin:"\\b(".concat(s,")[jJ](?=").concat(F,")")}]},A={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:t,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},E={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,contains:["self",a,l,o,u.HASH_COMMENT_MODE]}]};return r.contains=[o,l,a],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:t,illegal:/(<\/|\?)|=>/,contains:[a,l,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},o,A,u.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,D],scope:{1:"keyword",3:"title.function"},contains:[E]},{variants:[{match:[/\bclass/,/\s+/,D,/\s*/,/\(\s*/,D,/\s*\)/]},{match:[/\bclass/,/\s+/,D]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[l,E,o]}]}}),n.registerLanguage("r",function(u){var e=u.regex,D=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=e.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),t=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:D,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[u.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:D},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),u.HASH_COMMENT_MODE,{scope:"string",contains:[u.BACKSLASH_ESCAPE],variants:[u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),u.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[t,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[a,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[D,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:t},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}),n.registerLanguage("ruby",function(u){var e=u.regex,D="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),t=e.concat(n,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield"].concat(["include","extend","prepend","public","private","protected","raise","throw"]),built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},r={className:"doctag",begin:"@[A-Za-z]+"},i={begin:"#<",end:">"},o=[u.COMMENT("#","$",{contains:[r]}),u.COMMENT("^=begin","^=end",{contains:[r],relevance:10}),u.COMMENT("^__END__",u.MATCH_NOTHING_RE)],s={className:"subst",begin:/#\{/,end:/\}/,keywords:a},c={className:"string",contains:[u.BACKSLASH_ESCAPE,s],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[u.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[u.BACKSLASH_ESCAPE,s]})]}]},F="[0-9](_?[0-9])*",l={className:"number",relevance:0,variants:[{begin:"\\b(".concat("[1-9](_?[0-9])*|0",")(\\.(").concat(F,"))?([eE][+-]?(").concat(F,")|r)?i?\\b")},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},A={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},E=[c,{variants:[{match:[/class\s+/,t,/\s+<\s+/,t]},{match:[/\b(class|module)\s+/,t]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,t],scope:{2:"title.class"},keywords:a},{relevance:0,match:[t,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,D],scope:{1:"keyword",3:"title.function"},contains:[A]},{begin:"::"},{className:"symbol",begin:u.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[c,{begin:D}],relevance:0},l,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+u.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[u.BACKSLASH_ESCAPE,s],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(i,o),relevance:0}].concat(i,o);s.contains=E,A.contains=E;var C=[{begin:/^\s*=>/,starts:{end:"$",contains:E}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:a,contains:E}}];return o.unshift(i),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[u.SHEBANG({binary:"ruby"})].concat(C).concat(o).concat(E)}}),n.registerLanguage("shell",function(u){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[./~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}),n.registerLanguage("sql",function(u){var e=u.regex,D=u.COMMENT("--","$"),n=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],t=n,a=[].concat(["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],["add","asc","collation","desc","final","first","last","view"]).filter(function(u){return!n.includes(u)}),r={match:e.concat(/\b/,e.either.apply(e,t),/\s*\(/),relevance:0,keywords:{built_in:t}};function i(u){return e.concat(/\b/,e.either.apply(e,function(u){if(Array.isArray(u))return z(u)}(D=u.map(function(u){return u.replace(/\s+/,"\\s+")}))||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(D)||function(u,e){if(u){if("string"==typeof u)return z(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?z(u,e):void 0}}(D)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),/\b/);var D}var o={scope:"keyword",match:i(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(u){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},D=e.exceptions,n=e.when;return D=D||[],u.map(function(u){return u.match(/\|\d+$/)||D.includes(u)?u:n(u)?"".concat(u,"|0"):u})}(a,{when:function(u){return u.length<3}}),literal:["true","false","unknown"],type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{scope:"type",match:i(["double precision","large object","with timezone","without timezone"])},o,r,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{match:/""/}]},u.C_NUMBER_MODE,u.C_BLOCK_COMMENT_MODE,D,{scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}),n.registerLanguage("xml",function(u){var e=u.regex,D=e.concat(/(?:[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])/,e.optional(/(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*:/),/(?:[\x2D\.0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=u.inherit(t,{begin:/\(/,end:/\)/}),r=u.inherit(u.APOS_STRING_MODE,{className:"string"}),i=u.inherit(u.QUOTE_STRING_MODE,{className:"string"}),o={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[t,i,r,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[t,a,i,r]}]}]},u.COMMENT(//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[i]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[o],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[o],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:D,relevance:0,starts:o}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(D,/>/))),contains:[{className:"name",begin:D,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}),n.registerLanguage("yaml",function(u){var e="true false yes no null",D="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[u.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},t=u.inherit(n,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),a={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},r={begin:/\{/,end:/\}/,contains:[a],illegal:"\\n",relevance:0},i={begin:"\\[",end:"\\]",contains:[a],illegal:"\\n",relevance:0},o=[{className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+D},{className:"type",begin:"!<"+D+">"},{className:"type",begin:"!"+D},{className:"type",begin:"!!"+D},{className:"meta",begin:"&"+u.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+u.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},u.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:u.C_NUMBER_RE+"\\b",relevance:0},r,i,{className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},n],s=[].concat(o);return s.pop(),s.push(t),a.contains=s,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:o}});var P=n},6991(u,e,D){"use strict";var n=D(1354),t=D.n(n),a=D(6314),r=D.n(a)()(t());r.push([u.id,"pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #24292e;\n background: #ffffff\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}","",{version:3,sources:["webpack://./node_modules/highlight.js/styles/github.css"],names:[],mappings:"AAAA;EACE,cAAc;EACd,gBAAgB;EAChB;AACF;AACA;EACE;AACF;AACA;;;;;;;;;CASC;AACD;EACE,cAAc;EACd;AACF;AACA;;;;;;;EAOE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,+BAA+B;EAC/B;AACF;AACA;;;;;;;;;;EAUE,iCAAiC;EACjC;AACF;AACA;;;EAGE,+BAA+B;EAC/B;AACF;AACA;;EAEE,iCAAiC;EACjC;AACF;AACA;;;EAGE,gCAAgC;EAChC;AACF;AACA;;;;EAIE,mCAAmC;EACnC;AACF;AACA;EACE,gDAAgD;EAChD;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC;AACF;AACA;EACE,sCAAsC;EACtC,cAAc;EACd;AACF;AACA;EACE,oCAAoC;EACpC,cAAc;EACd;AACF;AACA;EACE,wCAAwC;EACxC,cAAc;EACd;AACF;AACA;EACE,uCAAuC;EACvC,cAAc;EACd;AACF;AACA;;;;;;EAME,sBAAsB;;AAExB",sourcesContent:["pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em\n}\ncode.hljs {\n padding: 3px 5px\n}\n/*!\n Theme: GitHub\n Description: Light theme as seen on github.com\n Author: github.com\n Maintainer: @Hirse\n Updated: 2021-05-15\n\n Outdated base version: https://github.com/primer/github-syntax-light\n Current colors taken from GitHub's CSS\n*/\n.hljs {\n color: #24292e;\n background: #ffffff\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-meta .hljs-keyword,\n.hljs-template-tag,\n.hljs-template-variable,\n.hljs-type,\n.hljs-variable.language_ {\n /* prettylights-syntax-keyword */\n color: #d73a49\n}\n.hljs-title,\n.hljs-title.class_,\n.hljs-title.class_.inherited__,\n.hljs-title.function_ {\n /* prettylights-syntax-entity */\n color: #6f42c1\n}\n.hljs-attr,\n.hljs-attribute,\n.hljs-literal,\n.hljs-meta,\n.hljs-number,\n.hljs-operator,\n.hljs-variable,\n.hljs-selector-attr,\n.hljs-selector-class,\n.hljs-selector-id {\n /* prettylights-syntax-constant */\n color: #005cc5\n}\n.hljs-regexp,\n.hljs-string,\n.hljs-meta .hljs-string {\n /* prettylights-syntax-string */\n color: #032f62\n}\n.hljs-built_in,\n.hljs-symbol {\n /* prettylights-syntax-variable */\n color: #e36209\n}\n.hljs-comment,\n.hljs-code,\n.hljs-formula {\n /* prettylights-syntax-comment */\n color: #6a737d\n}\n.hljs-name,\n.hljs-quote,\n.hljs-selector-tag,\n.hljs-selector-pseudo {\n /* prettylights-syntax-entity-tag */\n color: #22863a\n}\n.hljs-subst {\n /* prettylights-syntax-storage-modifier-import */\n color: #24292e\n}\n.hljs-section {\n /* prettylights-syntax-markup-heading */\n color: #005cc5;\n font-weight: bold\n}\n.hljs-bullet {\n /* prettylights-syntax-markup-list */\n color: #735c0f\n}\n.hljs-emphasis {\n /* prettylights-syntax-markup-italic */\n color: #24292e;\n font-style: italic\n}\n.hljs-strong {\n /* prettylights-syntax-markup-bold */\n color: #24292e;\n font-weight: bold\n}\n.hljs-addition {\n /* prettylights-syntax-markup-inserted */\n color: #22863a;\n background-color: #f0fff4\n}\n.hljs-deletion {\n /* prettylights-syntax-markup-deleted */\n color: #b31d28;\n background-color: #ffeef0\n}\n.hljs-char.escape_,\n.hljs-link,\n.hljs-params,\n.hljs-property,\n.hljs-punctuation,\n.hljs-tag {\n /* purposely ignored */\n \n}"],sourceRoot:""}]),e.A=r},6314(u){"use strict";u.exports=function(u){var e=[];return e.toString=function(){return this.map(function(e){var D="",n=void 0!==e[5];return e[4]&&(D+="@supports (".concat(e[4],") {")),e[2]&&(D+="@media ".concat(e[2]," {")),n&&(D+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),D+=u(e),n&&(D+="}"),e[2]&&(D+="}"),e[4]&&(D+="}"),D}).join("")},e.i=function(u,D,n,t,a){"string"==typeof u&&(u=[[null,u,void 0]]);var r={};if(n)for(var i=0;i0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=a),D&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=D):c[2]=D),t&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=t):c[4]="".concat(t)),e.push(c))}},e}},1354(u){"use strict";u.exports=function(u){var e=u[1],D=u[3];if(!D)return e;if("function"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(D)))),t="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(n),a="/*# ".concat(t," */");return[e].concat([a]).join("\n")}return[e].join("\n")}},5072(u){"use strict";var e=[];function D(u){for(var D=-1,n=0;n0?" ".concat(D.layer):""," {")),n+=D.css,t&&(n+="}"),D.media&&(n+="}"),D.supports&&(n+="}");var a=D.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(n,u,e.options)}(e,u,D)},remove:function(){!function(u){if(null===u.parentNode)return!1;u.parentNode.removeChild(u)}(e)}}}},1113(u){"use strict";u.exports=function(u,e){if(e.styleSheet)e.styleSheet.cssText=u;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(u))}}},2006(u){function e(u){var D="function"==typeof Map?new Map:void 0;return e=function(u){if(null===u||!function(u){try{return-1!==Function.toString.call(u).indexOf("[native code]")}catch(e){return"function"==typeof u}}(u))return u;if("function"!=typeof u)throw new TypeError("Super expression must either be null or a function");if(void 0!==D){if(D.has(u))return D.get(u);D.set(u,e)}function e(){return function(u,e,D){if(t())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var a=new(u.bind.apply(u,n));return D&&i(a,D.prototype),a}(u,arguments,a(this).constructor)}return e.prototype=Object.create(u.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),i(e,u)},e(u)}function D(u,e){return function(u){if(Array.isArray(u))return u}(u)||function(u,e){var D=null==u?null:"undefined"!=typeof Symbol&&u[Symbol.iterator]||u["@@iterator"];if(null!=D){var n,t,a,r,i=[],o=!0,s=!1;try{if(a=(D=D.call(u)).next,0===e){if(Object(D)!==D)return;o=!1}else for(;!(o=(n=a.call(D)).done)&&(i.push(n.value),i.length!==e);o=!0);}catch(u){s=!0,t=u}finally{try{if(!o&&null!=D.return&&(r=D.return(),Object(r)!==r))return}finally{if(s)throw t}}return i}}(u,e)||s(u,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(u,e,D){return e=a(e),function(u,e){if(e&&("object"==C(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(u){if(void 0===u)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}(u)}(u,t()?Reflect.construct(e,D||[],a(u).constructor):e.apply(u,D))}function t(){try{var u=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(u){}return(t=function(){return!!u})()}function a(u){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(u){return u.__proto__||Object.getPrototypeOf(u)},a(u)}function r(u,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");u.prototype=Object.create(e&&e.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),Object.defineProperty(u,"prototype",{writable:!1}),e&&i(u,e)}function i(u,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(u,e){return u.__proto__=e,u},i(u,e)}function o(u){return function(u){if(Array.isArray(u))return c(u)}(u)||function(u){if("undefined"!=typeof Symbol&&null!=u[Symbol.iterator]||null!=u["@@iterator"])return Array.from(u)}(u)||s(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(u,e){if(u){if("string"==typeof u)return c(u,e);var D={}.toString.call(u).slice(8,-1);return"Object"===D&&u.constructor&&(D=u.constructor.name),"Map"===D||"Set"===D?Array.from(u):"Arguments"===D||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D)?c(u,e):void 0}}function c(u,e){(null==e||e>u.length)&&(e=u.length);for(var D=0,n=Array(e);D/g,">").replace(/"/g,""").replace(/'/g,"'")}function b(u){var e=Object.create(null);for(var D in u)e[D]=u[D];for(var n=arguments.length,t=new Array(n>1?n-1:0),a=1;a')}}])}(),h=function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={children:[]};return Object.assign(e,u),e},f=function(u){function e(u){var D;return F(this,e),(D=n(this,e)).options=u,D}return r(e,u),A(e,[{key:"addText",value:function(u){""!==u&&this.add(u)}},{key:"startScope",value:function(u){this.openNode(u)}},{key:"endScope",value:function(){this.closeNode()}},{key:"__addSublanguage",value:function(u,e){var D=u.root;e&&(D.scope="language:".concat(e)),this.add(D)}},{key:"toHTML",value:function(){return new m(this,this.options).value()}},{key:"finalize",value:function(){return this.closeAllNodes(),!0}}])}(function(){function u(){F(this,u),this.rootNode=h(),this.stack=[this.rootNode]}return A(u,[{key:"top",get:function(){return this.stack[this.stack.length-1]}},{key:"root",get:function(){return this.rootNode}},{key:"add",value:function(u){this.top.children.push(u)}},{key:"openNode",value:function(u){var e=h({scope:u});this.add(e),this.stack.push(e)}},{key:"closeNode",value:function(){if(this.stack.length>1)return this.stack.pop()}},{key:"closeAllNodes",value:function(){for(;this.closeNode(););}},{key:"toJSON",value:function(){return JSON.stringify(this.rootNode,null,4)}},{key:"walk",value:function(u){return this.constructor._walk(u,this.rootNode)}}],[{key:"_walk",value:function(u,e){var D=this;return"string"==typeof e?u.addText(e):e.children&&(u.openNode(e),e.children.forEach(function(e){return D._walk(u,e)}),u.closeNode(e)),u}},{key:"_collapse",value:function(e){"string"!=typeof e&&e.children&&(e.children.every(function(u){return"string"==typeof u})?e.children=[e.children.join("")]:e.children.forEach(function(e){u._collapse(e)}))}}])}());function y(u){return u?"string"==typeof u?u:u.source:null}function v(u){return w("(?=",u,")")}function _(u){return w("(?:",u,")*")}function x(u){return w("(?:",u,")?")}function w(){for(var u=arguments.length,e=new Array(u),D=0;D]+>/,/\(\?'[^']+'/,/\(\??/,/\\([1-9][0-9]*)/,/\\./));function O(u,e){var D=e.joinWith,n=0;return u.map(function(u){for(var e=n+=1,D=y(u),t="";D.length>0;){var a=S.exec(D);if(!a){t+=D;break}t+=D.substring(0,a.index),D=D.substring(a.index+a[0].length),"\\"===a[0][0]&&a[1]?t+="\\"+String(Number(a[1])+e):(t+=a[0],("("===a[0]||/^\(\?[<']/.test(a[0]))&&n++)}return t}).map(function(u){return"(".concat(u,")")}).join(D)}var M="[a-zA-Z]\\w*",j="[a-zA-Z_]\\w*",T="\\b\\d+(\\.\\d+)?",R="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",I="\\b(0b[01]+)",L={begin:"\\\\[\\s\\S]",relevance:0},z={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[L]},P={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[L]},U=function(u,e){var D=b({scope:"comment",begin:u,end:e,contains:[]},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});D.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});var n=k("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return D.contains.push({begin:w(/[ ]+/,"(",n,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),D},$=U("//","$"),H=U("/\\*","\\*/"),Z=U("#","$"),G={scope:"number",begin:T,relevance:0},K={scope:"number",begin:R,relevance:0},q={scope:"number",begin:I,relevance:0},W={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[L,{begin:/\[/,end:/\]/,relevance:0,contains:[L]}]},V={scope:"title",begin:M,relevance:0},Q={scope:"title",begin:j,relevance:0},X={begin:"\\.\\s*"+j,relevance:0},J=Object.freeze({__proto__:null,APOS_STRING_MODE:z,BACKSLASH_ESCAPE:L,BINARY_NUMBER_MODE:q,BINARY_NUMBER_RE:I,COMMENT:U,C_BLOCK_COMMENT_MODE:H,C_LINE_COMMENT_MODE:$,C_NUMBER_MODE:K,C_NUMBER_RE:R,END_SAME_AS_BEGIN:function(u){return Object.assign(u,{"on:begin":function(u,e){e.data._beginMatch=u[1]},"on:end":function(u,e){e.data._beginMatch!==u[1]&&e.ignoreMatch()}})},HASH_COMMENT_MODE:Z,IDENT_RE:M,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:X,NUMBER_MODE:G,NUMBER_RE:T,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:P,REGEXP_MODE:W,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=/^#![ ]*\//;return u.binary&&(u.begin=w(e,/.*\b/,u.binary,/\b.*/)),b({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":function(u,e){0!==u.index&&e.ignoreMatch()}},u)},TITLE_MODE:V,UNDERSCORE_IDENT_RE:j,UNDERSCORE_TITLE_MODE:Q});function Y(u,e){"."===u.input[u.index-1]&&e.ignoreMatch()}function uu(u,e){void 0!==u.className&&(u.scope=u.className,delete u.className)}function eu(u,e){e&&u.beginKeywords&&(u.begin="\\b("+u.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",u.__beforeBegin=Y,u.keywords=u.keywords||u.beginKeywords,delete u.beginKeywords,void 0===u.relevance&&(u.relevance=0))}function Du(u,e){Array.isArray(u.illegal)&&(u.illegal=k.apply(void 0,o(u.illegal)))}function nu(u,e){if(u.match){if(u.begin||u.end)throw new Error("begin & end are not supported with match");u.begin=u.match,delete u.match}}function tu(u,e){void 0===u.relevance&&(u.relevance=1)}var au=function(u,e){if(u.beforeMatch){if(u.starts)throw new Error("beforeMatch cannot be used with starts");var D=Object.assign({},u);Object.keys(u).forEach(function(e){delete u[e]}),u.keywords=D.keywords,u.begin=w(D.beforeMatch,v(D.begin)),u.starts={relevance:0,contains:[Object.assign(D,{endsParent:!0})]},u.relevance=0,delete D.beforeMatch}},ru=["of","and","for","in","not","or","if","then","parent","list","value"];function iu(u,e){var D=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"keyword",n=Object.create(null);return"string"==typeof u?t(D,u.split(" ")):Array.isArray(u)?t(D,u):Object.keys(u).forEach(function(D){Object.assign(n,iu(u[D],e,D))}),n;function t(u,D){e&&(D=D.map(function(u){return u.toLowerCase()})),D.forEach(function(e){var D=e.split("|");n[D[0]]=[u,ou(D[0],D[1])]})}}function ou(u,e){return e?Number(e):function(u){return ru.includes(u.toLowerCase())}(u)?0:1}var su={},cu=function(u){console.error(u)},Fu=function(u){for(var e,D=arguments.length,n=new Array(D>1?D-1:0),t=1;t0&&void 0!==u}),n=this.matchIndexes[D];return e.splice(0,D),Object.assign(e,n)}}])}(),t=function(){return A(function u(){F(this,u),this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0},[{key:"getMatcher",value:function(u){if(this.multiRegexes[u])return this.multiRegexes[u];var e=new n;return this.rules.slice(u).forEach(function(u){var n=D(u,2),t=n[0],a=n[1];return e.addRule(t,a)}),e.compile(),this.multiRegexes[u]=e,e}},{key:"resumingScanAtSamePosition",value:function(){return 0!==this.regexIndex}},{key:"considerAll",value:function(){this.regexIndex=0}},{key:"addRule",value:function(u,e){this.rules.push([u,e]),"begin"===e.type&&this.count++}},{key:"exec",value:function(u){var e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;var D=e.exec(u);if(this.resumingScanAtSamePosition())if(D&&D.index===this.lastIndex);else{var n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,D=n.exec(u)}return D&&(this.regexIndex+=D.position+1,this.regexIndex===this.count&&this.considerAll()),D}}])}();if(u.compilerExtensions||(u.compilerExtensions=[]),u.contains&&u.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return u.classNameAliases=b(u.classNameAliases||{}),function D(n,a){var r,i=n;if(n.isCompiled)return i;[uu,nu,Cu,au].forEach(function(u){return u(n,a)}),u.compilerExtensions.forEach(function(u){return u(n,a)}),n.__beforeBegin=null,[eu,Du,tu].forEach(function(u){return u(n,a)}),n.isCompiled=!0;var s=null;return"object"===C(n.keywords)&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s=s||/\w+/,n.keywords&&(n.keywords=iu(n.keywords,u.case_insensitive)),i.keywordPatternRe=e(s,!0),a&&(n.begin||(n.begin=/\B|\b/),i.beginRe=e(i.begin),n.end||n.endsWithParent||(n.end=/\B|\b/),n.end&&(i.endRe=e(i.end)),i.terminatorEnd=y(i.end)||"",n.endsWithParent&&a.terminatorEnd&&(i.terminatorEnd+=(n.end?"|":"")+a.terminatorEnd)),n.illegal&&(i.illegalRe=e(n.illegal)),n.contains||(n.contains=[]),n.contains=(r=[]).concat.apply(r,o(n.contains.map(function(u){return function(u){return u.variants&&!u.cachedVariants&&(u.cachedVariants=u.variants.map(function(e){return b(u,{variants:null},e)})),u.cachedVariants?u.cachedVariants:gu(u)?b(u,{starts:u.starts?b(u.starts):null}):Object.isFrozen(u)?b(u):u}("self"===u?n:u)}))),n.contains.forEach(function(u){D(u,i)}),n.starts&&D(n.starts,a),i.matcher=function(u){var e=new t;return u.contains.forEach(function(u){return e.addRule(u.begin,{rule:u,type:"begin"})}),u.terminatorEnd&&e.addRule(u.terminatorEnd,{type:"end"}),u.illegal&&e.addRule(u.illegal,{type:"illegal"}),e}(i),i}(u)}function gu(u){return!!u&&(u.endsWithParent||gu(u.starts))}var Bu=function(u){function e(u,D){var t;return F(this,e),(t=n(this,e,[u])).name="HTMLInjectionError",t.html=D,t}return r(e,u),A(e)}(e(Error)),bu=B,pu=b,mu=Symbol("nomatch"),hu=function(u){var e=Object.create(null),n=Object.create(null),t=[],a=!0,r="Could not find the language '{}', did you forget to load/include a language module?",i={disableAutodetect:!0,name:"Plain text",contains:[]},o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function s(u){return o.noHighlightRe.test(u)}function c(u,e,D){var n="",t="";"object"===C(e)?(n=u,D=e.ignoreIllegals,t=e.language):(lu("10.7.0","highlight(lang, code, ...args) has been deprecated."),lu("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),t=u,n=e),void 0===D&&(D=!0);var a={code:n,language:t};h("before:highlight",a);var r=a.result?a.result:F(a.language,a.code,D);return r.code=a.code,h("after:highlight",r),r}function F(u,n,t,i){var s=Object.create(null);function c(u,e){return u.keywords[e]}function A(){if(w.keywords){var u=0;w.keywordPatternRe.lastIndex=0;for(var e=w.keywordPatternRe.exec(S),n="";e;){n+=S.substring(u,e.index);var t=v.case_insensitive?e[0].toLowerCase():e[0],a=c(w,t);if(a){var r=D(a,2),i=r[0],o=r[1];if(N.addText(n),n="",s[t]=(s[t]||0)+1,s[t]<=7&&(O+=o),i.startsWith("_"))n+=e[0];else{var F=v.classNameAliases[i]||i;C(e[0],F)}}else n+=e[0];u=w.keywordPatternRe.lastIndex,e=w.keywordPatternRe.exec(S)}n+=S.substring(u),N.addText(n)}else N.addText(S)}function E(){null!=w.subLanguage?function(){if(""!==S){var u=null;if("string"==typeof w.subLanguage){if(!e[w.subLanguage])return void N.addText(S);u=F(w.subLanguage,S,!0,k[w.subLanguage]),k[w.subLanguage]=u._top}else u=l(S,w.subLanguage.length?w.subLanguage:null);w.relevance>0&&(O+=u.relevance),N.__addSublanguage(u._emitter,u.language)}}():A(),S=""}function C(u,e){""!==u&&(N.startScope(e),N.addText(u),N.endScope())}function d(u,e){for(var D=1,n=e.length-1;D<=n;)if(u._emit[D]){var t=v.classNameAliases[u[D]]||u[D],a=e[D];t?C(a,t):(S=a,A(),S=""),D++}else D++}function B(u,e){return u.scope&&"string"==typeof u.scope&&N.openNode(v.classNameAliases[u.scope]||u.scope),u.beginScope&&(u.beginScope._wrap?(C(S,v.classNameAliases[u.beginScope._wrap]||u.beginScope._wrap),S=""):u.beginScope._multi&&(d(u.beginScope,e),S="")),w=Object.create(u,{parent:{value:w}})}function p(u,e,D){var n=function(u,e){var D=u&&u.exec(e);return D&&0===D.index}(u.endRe,D);if(n){if(u["on:end"]){var t=new g(u);u["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;u.endsParent&&u.parent;)u=u.parent;return u}}if(u.endsWithParent)return p(u.parent,e,D)}function m(u){return 0===w.matcher.regexIndex?(S+=u[0],1):(T=!0,0)}function h(u){var e=u[0],D=n.substring(u.index),t=p(w,u,D);if(!t)return mu;var a=w;w.endScope&&w.endScope._wrap?(E(),C(e,w.endScope._wrap)):w.endScope&&w.endScope._multi?(E(),d(w.endScope,u)):a.skip?S+=e:(a.returnEnd||a.excludeEnd||(S+=e),E(),a.excludeEnd&&(S=e));do{w.scope&&N.closeNode(),w.skip||w.subLanguage||(O+=w.relevance),w=w.parent}while(w!==t.parent);return t.starts&&B(t.starts,u),a.returnEnd?0:e.length}var f={};function y(e,D){var r=D&&D[0];if(S+=e,null==r)return E(),0;if("begin"===f.type&&"end"===D.type&&f.index===D.index&&""===r){if(S+=n.slice(D.index,D.index+1),!a){var i=new Error("0 width match regex (".concat(u,")"));throw i.languageName=u,i.badRule=f.rule,i}return 1}if(f=D,"begin"===D.type)return function(u){for(var e=u[0],D=u.rule,n=new g(D),t=0,a=[D.__beforeBegin,D["on:begin"]];t")+'"');throw o.mode=w,o}if("end"===D.type){var s=h(D);if(s!==mu)return s}if("illegal"===D.type&&""===r)return D.index===n.length||(S+="\n"),1;if(j>1e5&&j>3*D.index)throw new Error("potential infinite loop, way more iterations than matches");return S+=r,r.length}var v=b(u);if(!v)throw cu(r.replace("{}",u)),new Error('Unknown language: "'+u+'"');var _=du(v),x="",w=i||_,k={},N=new o.__emitter(o);!function(){for(var u=[],e=w;e!==v;e=e.parent)e.scope&&u.unshift(e.scope);u.forEach(function(u){return N.openNode(u)})}();var S="",O=0,M=0,j=0,T=!1;try{if(v.__emitTokens)v.__emitTokens(n,N);else{for(w.matcher.considerAll();;){j++,T?T=!1:w.matcher.considerAll(),w.matcher.lastIndex=M;var R=w.matcher.exec(n);if(!R)break;var I=y(n.substring(M,R.index),R);M=R.index+I}y(n.substring(M))}return N.finalize(),x=N.toHTML(),{language:u,value:x,relevance:O,illegal:!1,_emitter:N,_top:w}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:u,value:bu(n),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:M,context:n.slice(M-100,M+100),mode:e.mode,resultSoFar:x},_emitter:N};if(a)return{language:u,value:bu(n),illegal:!1,relevance:0,errorRaised:e,_emitter:N,_top:w};throw e}}function l(u,n){n=n||o.languages||Object.keys(e);var t=function(u){var e={value:bu(u),illegal:!1,relevance:0,_top:i,_emitter:new o.__emitter(o)};return e._emitter.addText(u),e}(u),a=n.filter(b).filter(m).map(function(e){return F(e,u,!1)});a.unshift(t);var r=D(a.sort(function(u,e){if(u.relevance!==e.relevance)return e.relevance-u.relevance;if(u.language&&e.language){if(b(u.language).supersetOf===e.language)return 1;if(b(e.language).supersetOf===u.language)return-1}return 0}),2),s=r[0],c=r[1],l=s;return l.secondBest=c,l}function A(u){var e=function(u){var e=u.className+" ";e+=u.parentNode?u.parentNode.className:"";var D=o.languageDetectRe.exec(e);if(D){var n=b(D[1]);return n||(Fu(r.replace("{}",D[1])),Fu("Falling back to no-highlight mode for this block.",u)),n?D[1]:"no-highlight"}return e.split(/\s+/).find(function(u){return s(u)||b(u)})}(u);if(!s(e))if(h("before:highlightElement",{el:u,language:e}),u.dataset.highlighted)console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);else{if(u.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),o.throwUnescapedHTML))throw new Bu("One of your code blocks includes unescaped HTML.",u.innerHTML);var D=u.textContent,t=e?c(D,{language:e,ignoreIllegals:!0}):l(D);u.innerHTML=t.value,u.dataset.highlighted="yes",function(u,e,D){var t=e&&n[e]||D;u.classList.add("hljs"),u.classList.add("language-".concat(t))}(u,e,t.language),u.result={language:t.language,re:t.relevance,relevance:t.relevance},t.secondBest&&(u.secondBest={language:t.secondBest.language,relevance:t.secondBest.relevance}),h("after:highlightElement",{el:u,result:t,text:D})}}var E=!1;function B(){if("loading"===document.readyState)return E||window.addEventListener("DOMContentLoaded",function(){B()},!1),void(E=!0);document.querySelectorAll(o.cssSelector).forEach(A)}function b(u){return u=(u||"").toLowerCase(),e[u]||e[n[u]]}function p(u,e){var D=e.languageName;"string"==typeof u&&(u=[u]),u.forEach(function(u){n[u.toLowerCase()]=D})}function m(u){var e=b(u);return e&&!e.disableAutodetect}function h(u,e){var D=u;t.forEach(function(u){u[D]&&u[D](e)})}for(var y in Object.assign(u,{highlight:c,highlightAuto:l,highlightAll:B,highlightElement:A,highlightBlock:function(u){return lu("10.7.0","highlightBlock will be removed entirely in v12.0"),lu("10.7.0","Please use highlightElement now."),A(u)},configure:function(u){o=pu(o,u)},initHighlighting:function(){B(),lu("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){B(),lu("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(D,n){var t=null;try{t=n(u)}catch(u){if(cu("Language definition for '{}' could not be registered.".replace("{}",D)),!a)throw u;cu(u),t=i}t.name||(t.name=D),e[D]=t,t.rawDefinition=n.bind(null,u),t.aliases&&p(t.aliases,{languageName:D})},unregisterLanguage:function(u){delete e[u];for(var D=0,t=Object.keys(n);D {\n return {\n IMPORTANT: {\n scope: 'meta',\n begin: '!important'\n },\n BLOCK_COMMENT: hljs.C_BLOCK_COMMENT_MODE,\n HEXCOLOR: {\n scope: 'number',\n begin: /#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\\b/\n },\n UNICODE_RANGE: {\n scope: 'number',\n begin: /\\b[Uu]\\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/\n },\n FUNCTION_DISPATCH: {\n className: \"built_in\",\n begin: /[\\w-]+(?=\\()/\n },\n ATTRIBUTE_SELECTOR_MODE: {\n scope: 'selector-attr',\n begin: /\\[/,\n end: /\\]/,\n illegal: '$',\n contains: [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n },\n CSS_NUMBER_MODE: {\n scope: 'number',\n begin: hljs.NUMBER_RE + '(' +\n '%|em|ex|ch|rem' +\n '|vw|vh|vmin|vmax' +\n '|cm|mm|in|pt|pc|px' +\n '|deg|grad|rad|turn' +\n '|s|ms' +\n '|Hz|kHz' +\n '|dpi|dpcm|dppx' +\n ')?',\n relevance: 0\n },\n CSS_VARIABLE: {\n className: \"attr\",\n begin: /--[A-Za-z_][A-Za-z0-9_-]*/\n }\n };\n};\n\nconst HTML_TAGS = [\n 'a',\n 'abbr',\n 'address',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'blockquote',\n 'body',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'mark',\n 'menu',\n 'nav',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'picture',\n 'q',\n 'quote',\n 'samp',\n 'section',\n 'select',\n 'source',\n 'span',\n 'strong',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'ul',\n 'var',\n 'video'\n];\n\nconst SVG_TAGS = [\n 'defs',\n 'g',\n 'marker',\n 'mask',\n 'pattern',\n 'svg',\n 'switch',\n 'symbol',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feFlood',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMorphology',\n 'feOffset',\n 'feSpecularLighting',\n 'feTile',\n 'feTurbulence',\n 'linearGradient',\n 'radialGradient',\n 'stop',\n 'circle',\n 'ellipse',\n 'image',\n 'line',\n 'path',\n 'polygon',\n 'polyline',\n 'rect',\n 'text',\n 'use',\n 'textPath',\n 'tspan',\n 'foreignObject',\n 'clipPath'\n];\n\nconst TAGS = [\n ...HTML_TAGS,\n ...SVG_TAGS,\n];\n\n// Sorting, then reversing makes sure longer attributes/elements like\n// `font-weight` are matched fully instead of getting false positives on say `font`\n\nconst MEDIA_FEATURES = [\n 'any-hover',\n 'any-pointer',\n 'aspect-ratio',\n 'color',\n 'color-gamut',\n 'color-index',\n 'device-aspect-ratio',\n 'device-height',\n 'device-width',\n 'display-mode',\n 'forced-colors',\n 'grid',\n 'height',\n 'hover',\n 'inverted-colors',\n 'monochrome',\n 'orientation',\n 'overflow-block',\n 'overflow-inline',\n 'pointer',\n 'prefers-color-scheme',\n 'prefers-contrast',\n 'prefers-reduced-motion',\n 'prefers-reduced-transparency',\n 'resolution',\n 'scan',\n 'scripting',\n 'update',\n 'width',\n // TODO: find a better solution?\n 'min-width',\n 'max-width',\n 'min-height',\n 'max-height'\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes\nconst PSEUDO_CLASSES = [\n 'active',\n 'any-link',\n 'blank',\n 'checked',\n 'current',\n 'default',\n 'defined',\n 'dir', // dir()\n 'disabled',\n 'drop',\n 'empty',\n 'enabled',\n 'first',\n 'first-child',\n 'first-of-type',\n 'fullscreen',\n 'future',\n 'focus',\n 'focus-visible',\n 'focus-within',\n 'has', // has()\n 'host', // host or host()\n 'host-context', // host-context()\n 'hover',\n 'indeterminate',\n 'in-range',\n 'invalid',\n 'is', // is()\n 'lang', // lang()\n 'last-child',\n 'last-of-type',\n 'left',\n 'link',\n 'local-link',\n 'not', // not()\n 'nth-child', // nth-child()\n 'nth-col', // nth-col()\n 'nth-last-child', // nth-last-child()\n 'nth-last-col', // nth-last-col()\n 'nth-last-of-type', //nth-last-of-type()\n 'nth-of-type', //nth-of-type()\n 'only-child',\n 'only-of-type',\n 'optional',\n 'out-of-range',\n 'past',\n 'placeholder-shown',\n 'read-only',\n 'read-write',\n 'required',\n 'right',\n 'root',\n 'scope',\n 'target',\n 'target-within',\n 'user-invalid',\n 'valid',\n 'visited',\n 'where' // where()\n].sort().reverse();\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements\nconst PSEUDO_ELEMENTS = [\n 'after',\n 'backdrop',\n 'before',\n 'cue',\n 'cue-region',\n 'first-letter',\n 'first-line',\n 'grammar-error',\n 'marker',\n 'part',\n 'placeholder',\n 'selection',\n 'slotted',\n 'spelling-error'\n].sort().reverse();\n\nconst ATTRIBUTES = [\n 'accent-color',\n 'align-content',\n 'align-items',\n 'align-self',\n 'alignment-baseline',\n 'all',\n 'anchor-name',\n 'animation',\n 'animation-composition',\n 'animation-delay',\n 'animation-direction',\n 'animation-duration',\n 'animation-fill-mode',\n 'animation-iteration-count',\n 'animation-name',\n 'animation-play-state',\n 'animation-range',\n 'animation-range-end',\n 'animation-range-start',\n 'animation-timeline',\n 'animation-timing-function',\n 'appearance',\n 'aspect-ratio',\n 'backdrop-filter',\n 'backface-visibility',\n 'background',\n 'background-attachment',\n 'background-blend-mode',\n 'background-clip',\n 'background-color',\n 'background-image',\n 'background-origin',\n 'background-position',\n 'background-position-x',\n 'background-position-y',\n 'background-repeat',\n 'background-size',\n 'baseline-shift',\n 'block-size',\n 'border',\n 'border-block',\n 'border-block-color',\n 'border-block-end',\n 'border-block-end-color',\n 'border-block-end-style',\n 'border-block-end-width',\n 'border-block-start',\n 'border-block-start-color',\n 'border-block-start-style',\n 'border-block-start-width',\n 'border-block-style',\n 'border-block-width',\n 'border-bottom',\n 'border-bottom-color',\n 'border-bottom-left-radius',\n 'border-bottom-right-radius',\n 'border-bottom-style',\n 'border-bottom-width',\n 'border-collapse',\n 'border-color',\n 'border-end-end-radius',\n 'border-end-start-radius',\n 'border-image',\n 'border-image-outset',\n 'border-image-repeat',\n 'border-image-slice',\n 'border-image-source',\n 'border-image-width',\n 'border-inline',\n 'border-inline-color',\n 'border-inline-end',\n 'border-inline-end-color',\n 'border-inline-end-style',\n 'border-inline-end-width',\n 'border-inline-start',\n 'border-inline-start-color',\n 'border-inline-start-style',\n 'border-inline-start-width',\n 'border-inline-style',\n 'border-inline-width',\n 'border-left',\n 'border-left-color',\n 'border-left-style',\n 'border-left-width',\n 'border-radius',\n 'border-right',\n 'border-right-color',\n 'border-right-style',\n 'border-right-width',\n 'border-spacing',\n 'border-start-end-radius',\n 'border-start-start-radius',\n 'border-style',\n 'border-top',\n 'border-top-color',\n 'border-top-left-radius',\n 'border-top-right-radius',\n 'border-top-style',\n 'border-top-width',\n 'border-width',\n 'bottom',\n 'box-align',\n 'box-decoration-break',\n 'box-direction',\n 'box-flex',\n 'box-flex-group',\n 'box-lines',\n 'box-ordinal-group',\n 'box-orient',\n 'box-pack',\n 'box-shadow',\n 'box-sizing',\n 'break-after',\n 'break-before',\n 'break-inside',\n 'caption-side',\n 'caret-color',\n 'clear',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'color-scheme',\n 'column-count',\n 'column-fill',\n 'column-gap',\n 'column-rule',\n 'column-rule-color',\n 'column-rule-style',\n 'column-rule-width',\n 'column-span',\n 'column-width',\n 'columns',\n 'contain',\n 'contain-intrinsic-block-size',\n 'contain-intrinsic-height',\n 'contain-intrinsic-inline-size',\n 'contain-intrinsic-size',\n 'contain-intrinsic-width',\n 'container',\n 'container-name',\n 'container-type',\n 'content',\n 'content-visibility',\n 'corner-bottom-left-shape',\n 'corner-bottom-right-shape',\n 'corner-shape',\n 'corner-top-left-shape',\n 'corner-top-right-shape',\n 'counter-increment',\n 'counter-reset',\n 'counter-set',\n 'cue',\n 'cue-after',\n 'cue-before',\n 'cursor',\n 'cx',\n 'cy',\n 'direction',\n 'display',\n 'dominant-baseline',\n 'empty-cells',\n 'enable-background',\n 'field-sizing',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'flex',\n 'flex-basis',\n 'flex-direction',\n 'flex-flow',\n 'flex-grow',\n 'flex-shrink',\n 'flex-wrap',\n 'float',\n 'flood-color',\n 'flood-opacity',\n 'flow',\n 'font',\n 'font-display',\n 'font-family',\n 'font-feature-settings',\n 'font-kerning',\n 'font-language-override',\n 'font-optical-sizing',\n 'font-palette',\n 'font-size',\n 'font-size-adjust',\n 'font-smooth',\n 'font-smoothing',\n 'font-stretch',\n 'font-style',\n 'font-synthesis',\n 'font-synthesis-position',\n 'font-synthesis-small-caps',\n 'font-synthesis-style',\n 'font-synthesis-weight',\n 'font-variant',\n 'font-variant-alternates',\n 'font-variant-caps',\n 'font-variant-east-asian',\n 'font-variant-emoji',\n 'font-variant-ligatures',\n 'font-variant-numeric',\n 'font-variant-position',\n 'font-variation-settings',\n 'font-weight',\n 'forced-color-adjust',\n 'gap',\n 'glyph-orientation-horizontal',\n 'glyph-orientation-vertical',\n 'grid',\n 'grid-area',\n 'grid-auto-columns',\n 'grid-auto-flow',\n 'grid-auto-rows',\n 'grid-column',\n 'grid-column-end',\n 'grid-column-start',\n 'grid-gap',\n 'grid-row',\n 'grid-row-end',\n 'grid-row-start',\n 'grid-template',\n 'grid-template-areas',\n 'grid-template-columns',\n 'grid-template-rows',\n 'hanging-punctuation',\n 'height',\n 'hyphenate-character',\n 'hyphenate-limit-chars',\n 'hyphens',\n 'icon',\n 'image-orientation',\n 'image-rendering',\n 'image-resolution',\n 'ime-mode',\n 'initial-letter',\n 'initial-letter-align',\n 'inline-size',\n 'inset',\n 'inset-area',\n 'inset-block',\n 'inset-block-end',\n 'inset-block-start',\n 'inset-inline',\n 'inset-inline-end',\n 'inset-inline-start',\n 'isolation',\n 'justify-content',\n 'justify-items',\n 'justify-self',\n 'kerning',\n 'left',\n 'letter-spacing',\n 'lighting-color',\n 'line-break',\n 'line-height',\n 'line-height-step',\n 'list-style',\n 'list-style-image',\n 'list-style-position',\n 'list-style-type',\n 'margin',\n 'margin-block',\n 'margin-block-end',\n 'margin-block-start',\n 'margin-bottom',\n 'margin-inline',\n 'margin-inline-end',\n 'margin-inline-start',\n 'margin-left',\n 'margin-right',\n 'margin-top',\n 'margin-trim',\n 'marker',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'marks',\n 'mask',\n 'mask-border',\n 'mask-border-mode',\n 'mask-border-outset',\n 'mask-border-repeat',\n 'mask-border-slice',\n 'mask-border-source',\n 'mask-border-width',\n 'mask-clip',\n 'mask-composite',\n 'mask-image',\n 'mask-mode',\n 'mask-origin',\n 'mask-position',\n 'mask-repeat',\n 'mask-size',\n 'mask-type',\n 'masonry-auto-flow',\n 'math-depth',\n 'math-shift',\n 'math-style',\n 'max-block-size',\n 'max-height',\n 'max-inline-size',\n 'max-width',\n 'min-block-size',\n 'min-height',\n 'min-inline-size',\n 'min-width',\n 'mix-blend-mode',\n 'nav-down',\n 'nav-index',\n 'nav-left',\n 'nav-right',\n 'nav-up',\n 'none',\n 'normal',\n 'object-fit',\n 'object-position',\n 'offset',\n 'offset-anchor',\n 'offset-distance',\n 'offset-path',\n 'offset-position',\n 'offset-rotate',\n 'opacity',\n 'order',\n 'orphans',\n 'outline',\n 'outline-color',\n 'outline-offset',\n 'outline-style',\n 'outline-width',\n 'overflow',\n 'overflow-anchor',\n 'overflow-block',\n 'overflow-clip-margin',\n 'overflow-inline',\n 'overflow-wrap',\n 'overflow-x',\n 'overflow-y',\n 'overlay',\n 'overscroll-behavior',\n 'overscroll-behavior-block',\n 'overscroll-behavior-inline',\n 'overscroll-behavior-x',\n 'overscroll-behavior-y',\n 'padding',\n 'padding-block',\n 'padding-block-end',\n 'padding-block-start',\n 'padding-bottom',\n 'padding-inline',\n 'padding-inline-end',\n 'padding-inline-start',\n 'padding-left',\n 'padding-right',\n 'padding-top',\n 'page',\n 'page-break-after',\n 'page-break-before',\n 'page-break-inside',\n 'paint-order',\n 'pause',\n 'pause-after',\n 'pause-before',\n 'perspective',\n 'perspective-origin',\n 'place-content',\n 'place-items',\n 'place-self',\n 'pointer-events',\n 'position',\n 'position-anchor',\n 'position-visibility',\n 'print-color-adjust',\n 'quotes',\n 'r',\n 'resize',\n 'rest',\n 'rest-after',\n 'rest-before',\n 'right',\n 'rotate',\n 'row-gap',\n 'ruby-align',\n 'ruby-position',\n 'scale',\n 'scroll-behavior',\n 'scroll-margin',\n 'scroll-margin-block',\n 'scroll-margin-block-end',\n 'scroll-margin-block-start',\n 'scroll-margin-bottom',\n 'scroll-margin-inline',\n 'scroll-margin-inline-end',\n 'scroll-margin-inline-start',\n 'scroll-margin-left',\n 'scroll-margin-right',\n 'scroll-margin-top',\n 'scroll-padding',\n 'scroll-padding-block',\n 'scroll-padding-block-end',\n 'scroll-padding-block-start',\n 'scroll-padding-bottom',\n 'scroll-padding-inline',\n 'scroll-padding-inline-end',\n 'scroll-padding-inline-start',\n 'scroll-padding-left',\n 'scroll-padding-right',\n 'scroll-padding-top',\n 'scroll-snap-align',\n 'scroll-snap-stop',\n 'scroll-snap-type',\n 'scroll-timeline',\n 'scroll-timeline-axis',\n 'scroll-timeline-name',\n 'scrollbar-color',\n 'scrollbar-gutter',\n 'scrollbar-width',\n 'shape-image-threshold',\n 'shape-margin',\n 'shape-outside',\n 'shape-rendering',\n 'speak',\n 'speak-as',\n 'src', // @font-face\n 'stop-color',\n 'stop-opacity',\n 'stroke',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke-width',\n 'tab-size',\n 'table-layout',\n 'text-align',\n 'text-align-all',\n 'text-align-last',\n 'text-anchor',\n 'text-combine-upright',\n 'text-decoration',\n 'text-decoration-color',\n 'text-decoration-line',\n 'text-decoration-skip',\n 'text-decoration-skip-ink',\n 'text-decoration-style',\n 'text-decoration-thickness',\n 'text-emphasis',\n 'text-emphasis-color',\n 'text-emphasis-position',\n 'text-emphasis-style',\n 'text-indent',\n 'text-justify',\n 'text-orientation',\n 'text-overflow',\n 'text-rendering',\n 'text-shadow',\n 'text-size-adjust',\n 'text-transform',\n 'text-underline-offset',\n 'text-underline-position',\n 'text-wrap',\n 'text-wrap-mode',\n 'text-wrap-style',\n 'timeline-scope',\n 'top',\n 'touch-action',\n 'transform',\n 'transform-box',\n 'transform-origin',\n 'transform-style',\n 'transition',\n 'transition-behavior',\n 'transition-delay',\n 'transition-duration',\n 'transition-property',\n 'transition-timing-function',\n 'translate',\n 'unicode-bidi',\n 'unicode-range',\n 'user-modify',\n 'user-select',\n 'vector-effect',\n 'vertical-align',\n 'view-timeline',\n 'view-timeline-axis',\n 'view-timeline-inset',\n 'view-timeline-name',\n 'view-transition-name',\n 'visibility',\n 'voice-balance',\n 'voice-duration',\n 'voice-family',\n 'voice-pitch',\n 'voice-range',\n 'voice-rate',\n 'voice-stress',\n 'voice-volume',\n 'white-space',\n 'white-space-collapse',\n 'widows',\n 'width',\n 'will-change',\n 'word-break',\n 'word-spacing',\n 'word-wrap',\n 'writing-mode',\n 'x',\n 'y',\n 'z-index',\n 'zoom'\n].sort().reverse();\n\n/*\nLanguage: CSS\nCategory: common, css, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/CSS\n*/\n\n\n/** @type LanguageFn */\nfunction css(hljs) {\n const regex = hljs.regex;\n const modes = MODES(hljs);\n const VENDOR_PREFIX = { begin: /-(webkit|moz|ms|o)-(?=[a-z])/ };\n const AT_MODIFIERS = \"and or not only\";\n const AT_PROPERTY_RE = /@-?\\w[\\w]*(-\\w+)*/; // @-webkit-keyframes\n const IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*';\n const STRINGS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ];\n\n return {\n name: 'CSS',\n case_insensitive: true,\n illegal: /[=|'\\$]/,\n keywords: { keyframePosition: \"from to\" },\n classNameAliases: {\n // for visual continuity with `tag {}` and because we\n // don't have a great class for this?\n keyframePosition: \"selector-tag\" },\n contains: [\n modes.BLOCK_COMMENT,\n VENDOR_PREFIX,\n // to recognize keyframe 40% etc which are outside the scope of our\n // attribute value mode\n modes.CSS_NUMBER_MODE,\n {\n className: 'selector-id',\n begin: /#[A-Za-z0-9_-]+/,\n relevance: 0\n },\n {\n className: 'selector-class',\n begin: '\\\\.' + IDENT_RE,\n relevance: 0\n },\n modes.ATTRIBUTE_SELECTOR_MODE,\n {\n className: 'selector-pseudo',\n variants: [\n { begin: ':(' + PSEUDO_CLASSES.join('|') + ')' },\n { begin: ':(:)?(' + PSEUDO_ELEMENTS.join('|') + ')' }\n ]\n },\n // we may actually need this (12/2020)\n // { // pseudo-selector params\n // begin: /\\(/,\n // end: /\\)/,\n // contains: [ hljs.CSS_NUMBER_MODE ]\n // },\n modes.CSS_VARIABLE,\n {\n className: 'attribute',\n begin: '\\\\b(' + ATTRIBUTES.join('|') + ')\\\\b'\n },\n // attribute values\n {\n begin: /:/,\n end: /[;}{]/,\n contains: [\n modes.BLOCK_COMMENT,\n modes.HEXCOLOR,\n modes.IMPORTANT,\n modes.CSS_NUMBER_MODE,\n modes.UNICODE_RANGE,\n ...STRINGS,\n // needed to highlight these as strings and to avoid issues with\n // illegal characters that might be inside urls that would trigger the\n // languages illegal stack\n {\n begin: /(url|data-uri)\\(/,\n end: /\\)/,\n relevance: 0, // from keywords\n keywords: { built_in: \"url data-uri\" },\n contains: [\n ...STRINGS,\n {\n className: \"string\",\n // any character other than `)` as in `url()` will be the start\n // of a string, which ends with `)` (from the parent mode)\n begin: /[^)]/,\n endsWithParent: true,\n excludeEnd: true\n }\n ]\n },\n modes.FUNCTION_DISPATCH\n ]\n },\n {\n begin: regex.lookahead(/@/),\n end: '[{;]',\n relevance: 0,\n illegal: /:/, // break on Less variables @var: ...\n contains: [\n {\n className: 'keyword',\n begin: AT_PROPERTY_RE\n },\n {\n begin: /\\s/,\n endsWithParent: true,\n excludeEnd: true,\n relevance: 0,\n keywords: {\n $pattern: /[a-z-]+/,\n keyword: AT_MODIFIERS,\n attribute: MEDIA_FEATURES.join(\" \")\n },\n contains: [\n {\n begin: /[a-z-]+(?=:)/,\n className: \"attribute\"\n },\n ...STRINGS,\n modes.CSS_NUMBER_MODE\n ]\n }\n ]\n },\n {\n className: 'selector-tag',\n begin: '\\\\b(' + TAGS.join('|') + ')\\\\b'\n }\n ]\n };\n}\n\nexport { css as default };\n","/**\n * @param {string} value\n * @returns {RegExp}\n * */\nfunction escape(value) {\n return new RegExp(value.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&'), 'm');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid an\n// incorrect parse, it also matches the constructs where the meaning of\n// parentheses, escapes, or capture counting changes.\nnew RegExp(either(\n /\\[(?:[^\\\\\\]]|\\\\.)*\\]/, // a character class, inside which ( and \\ lose their meaning\n /\\(\\?<(?![=!])[^>]+>/, // a named capture group `(?` (not a lookbehind `(?<=` / `(?\nContributors: Troy Kershaw , Henrik Feldt , Melvyn Laïly \nWebsite: https://docs.microsoft.com/en-us/dotnet/fsharp/\nCategory: functional\n*/\n\n\n/** @type LanguageFn */\nfunction fsharp(hljs) {\n const KEYWORDS = [\n \"abstract\",\n \"and\",\n \"as\",\n \"assert\",\n \"base\",\n \"begin\",\n \"class\",\n \"default\",\n \"delegate\",\n \"do\",\n \"done\",\n \"downcast\",\n \"downto\",\n \"elif\",\n \"else\",\n \"end\",\n \"exception\",\n \"extern\",\n // \"false\", // literal\n \"finally\",\n \"fixed\",\n \"for\",\n \"fun\",\n \"function\",\n \"global\",\n \"if\",\n \"in\",\n \"inherit\",\n \"inline\",\n \"interface\",\n \"internal\",\n \"lazy\",\n \"let\",\n \"match\",\n \"member\",\n \"module\",\n \"mutable\",\n \"namespace\",\n \"new\",\n // \"not\", // built_in\n // \"null\", // literal\n \"of\",\n \"open\",\n \"or\",\n \"override\",\n \"private\",\n \"public\",\n \"rec\",\n \"return\",\n \"static\",\n \"struct\",\n \"then\",\n \"to\",\n // \"true\", // literal\n \"try\",\n \"type\",\n \"upcast\",\n \"use\",\n \"val\",\n \"void\",\n \"when\",\n \"while\",\n \"with\",\n \"yield\"\n ];\n\n const BANG_KEYWORD_MODE = {\n // monad builder keywords (matches before non-bang keywords)\n scope: 'keyword',\n match: /\\b(yield|return|let|do|match|use)!/\n };\n\n const PREPROCESSOR_KEYWORDS = [\n \"if\",\n \"else\",\n \"endif\",\n \"line\",\n \"nowarn\",\n \"light\",\n \"r\",\n \"i\",\n \"I\",\n \"load\",\n \"time\",\n \"help\",\n \"quit\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"Some\",\n \"None\",\n \"Ok\",\n \"Error\",\n \"infinity\",\n \"infinityf\",\n \"nan\",\n \"nanf\"\n ];\n\n const SPECIAL_IDENTIFIERS = [\n \"__LINE__\",\n \"__SOURCE_DIRECTORY__\",\n \"__SOURCE_FILE__\"\n ];\n\n // Since it's possible to re-bind/shadow names (e.g. let char = 'c'),\n // these builtin types should only be matched when a type name is expected.\n const KNOWN_TYPES = [\n // basic types\n \"bool\",\n \"byte\",\n \"sbyte\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"int\",\n \"uint\",\n \"int64\",\n \"uint64\",\n \"nativeint\",\n \"unativeint\",\n \"decimal\",\n \"float\",\n \"double\",\n \"float32\",\n \"single\",\n \"char\",\n \"string\",\n \"unit\",\n \"bigint\",\n // other native types or lowercase aliases\n \"option\",\n \"voption\",\n \"list\",\n \"array\",\n \"seq\",\n \"byref\",\n \"exn\",\n \"inref\",\n \"nativeptr\",\n \"obj\",\n \"outref\",\n \"voidptr\",\n // other important FSharp types\n \"Result\"\n ];\n\n const BUILTINS = [\n // Somewhat arbitrary list of builtin functions and values.\n // Most of them are declared in Microsoft.FSharp.Core\n // I tried to stay relevant by adding only the most idiomatic\n // and most used symbols that are not already declared as types.\n \"not\",\n \"ref\",\n \"raise\",\n \"reraise\",\n \"dict\",\n \"readOnlyDict\",\n \"set\",\n \"get\",\n \"enum\",\n \"sizeof\",\n \"typeof\",\n \"typedefof\",\n \"nameof\",\n \"nullArg\",\n \"invalidArg\",\n \"invalidOp\",\n \"id\",\n \"fst\",\n \"snd\",\n \"ignore\",\n \"lock\",\n \"using\",\n \"box\",\n \"unbox\",\n \"tryUnbox\",\n \"printf\",\n \"printfn\",\n \"sprintf\",\n \"eprintf\",\n \"eprintfn\",\n \"fprintf\",\n \"fprintfn\",\n \"failwith\",\n \"failwithf\"\n ];\n\n const ALL_KEYWORDS = {\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILTINS,\n 'variable.constant': SPECIAL_IDENTIFIERS\n };\n\n // (* potentially multi-line Meta Language style comment *)\n const ML_COMMENT =\n hljs.COMMENT(/\\(\\*(?!\\))/, /\\*\\)/, {\n contains: [\"self\"]\n });\n // Either a multi-line (* Meta Language style comment *) or a single line // C style comment.\n const COMMENT = {\n variants: [\n ML_COMMENT,\n hljs.C_LINE_COMMENT_MODE,\n ]\n };\n\n // Most identifiers can contain apostrophes\n const IDENTIFIER_RE = /[a-zA-Z_](\\w|')*/;\n\n const QUOTED_IDENTIFIER = {\n scope: 'variable',\n begin: /``/,\n end: /``/\n };\n\n // 'a or ^a where a can be a ``quoted identifier``\n const BEGIN_GENERIC_TYPE_SYMBOL_RE = /\\B('|\\^)/;\n const GENERIC_TYPE_SYMBOL = {\n scope: 'symbol',\n variants: [\n // the type name is a quoted identifier:\n { match: concat(BEGIN_GENERIC_TYPE_SYMBOL_RE, /``.*?``/) },\n // the type name is a normal identifier (we don't use IDENTIFIER_RE because there cannot be another apostrophe here):\n { match: concat(BEGIN_GENERIC_TYPE_SYMBOL_RE, hljs.UNDERSCORE_IDENT_RE) }\n ],\n relevance: 0\n };\n\n const makeOperatorMode = function({ includeEqual }) {\n // List or symbolic operator characters from the FSharp Spec 4.1, minus the dot, and with `?` added, used for nullable operators.\n let allOperatorChars;\n if (includeEqual)\n allOperatorChars = \"!%&*+-/<=>@^|~?\";\n else\n allOperatorChars = \"!%&*+-/<>@^|~?\";\n const OPERATOR_CHARS = Array.from(allOperatorChars);\n const OPERATOR_CHAR_RE = concat('[', ...OPERATOR_CHARS.map(escape), ']');\n // The lone dot operator is special. It cannot be redefined, and we don't want to highlight it. It can be used as part of a multi-chars operator though.\n const OPERATOR_CHAR_OR_DOT_RE = either(OPERATOR_CHAR_RE, /\\./);\n // When a dot is present, it must be followed by another operator char:\n const OPERATOR_FIRST_CHAR_OF_MULTIPLE_RE = concat(OPERATOR_CHAR_OR_DOT_RE, lookahead(OPERATOR_CHAR_OR_DOT_RE));\n const SYMBOLIC_OPERATOR_RE = either(\n concat(OPERATOR_FIRST_CHAR_OF_MULTIPLE_RE, OPERATOR_CHAR_OR_DOT_RE, '*'), // Matches at least 2 chars operators\n concat(OPERATOR_CHAR_RE, '+'), // Matches at least one char operators\n );\n return {\n scope: 'operator',\n match: either(\n // symbolic operators:\n SYMBOLIC_OPERATOR_RE,\n // other symbolic keywords:\n // Type casting and conversion operators:\n /:\\?>/,\n /:\\?/,\n /:>/,\n /:=/, // Reference cell assignment\n /::?/, // : or ::\n /\\$/), // A single $ can be used as an operator\n relevance: 0\n };\n };\n\n const OPERATOR = makeOperatorMode({ includeEqual: true });\n // This variant is used when matching '=' should end a parent mode:\n const OPERATOR_WITHOUT_EQUAL = makeOperatorMode({ includeEqual: false });\n\n const makeTypeAnnotationMode = function(prefix, prefixScope) {\n return {\n begin: concat( // a type annotation is a\n prefix, // should be a colon or the 'of' keyword\n lookahead( // that has to be followed by\n concat(\n /\\s*/, // optional space\n either( // then either of:\n /\\w/, // word\n /'/, // generic type name\n /\\^/, // generic type name\n /#/, // flexible type name\n /``/, // quoted type name\n /\\(/, // parens type expression\n /{\\|/, // anonymous type annotation\n )))),\n beginScope: prefixScope,\n // BUG: because ending with \\n is necessary for some cases, multi-line type annotations are not properly supported.\n // Examples where \\n is required at the end:\n // - abstract member definitions in classes: abstract Property : int * string\n // - return type annotations: let f f' = f' () : returnTypeAnnotation\n // - record fields definitions: { A : int \\n B : string }\n end: lookahead(\n either(\n /\\n/,\n /=/)),\n relevance: 0,\n // we need the known types, and we need the type constraint keywords and literals. e.g.: when 'a : null\n keywords: hljs.inherit(ALL_KEYWORDS, { type: KNOWN_TYPES }),\n contains: [\n COMMENT,\n GENERIC_TYPE_SYMBOL,\n hljs.inherit(QUOTED_IDENTIFIER, { scope: null }), // match to avoid strange patterns inside that may break the parsing\n OPERATOR_WITHOUT_EQUAL\n ]\n };\n };\n\n const TYPE_ANNOTATION = makeTypeAnnotationMode(/:/, 'operator');\n const DISCRIMINATED_UNION_TYPE_ANNOTATION = makeTypeAnnotationMode(/\\bof\\b/, 'keyword');\n\n // type MyType<'a> = ...\n const TYPE_DECLARATION = {\n begin: [\n /(^|\\s+)/, // prevents matching the following: `match s.stype with`\n /type/,\n /\\s+/,\n IDENTIFIER_RE\n ],\n beginScope: {\n 2: 'keyword',\n 4: 'title.class'\n },\n end: lookahead(/\\(|=|$/),\n keywords: ALL_KEYWORDS, // match keywords in type constraints. e.g.: when 'a : null\n contains: [\n COMMENT,\n hljs.inherit(QUOTED_IDENTIFIER, { scope: null }), // match to avoid strange patterns inside that may break the parsing\n GENERIC_TYPE_SYMBOL,\n {\n // For visual consistency, highlight type brackets as operators.\n scope: 'operator',\n match: /<|>/\n },\n TYPE_ANNOTATION // generic types can have constraints, which are type annotations. e.g. type MyType<'T when 'T : delegate> =\n ]\n };\n\n const COMPUTATION_EXPRESSION = {\n // computation expressions:\n scope: 'computation-expression',\n // BUG: might conflict with record deconstruction. e.g. let f { Name = name } = name // will highlight f\n match: /\\b[_a-z]\\w*(?=\\s*\\{)/\n };\n\n const PREPROCESSOR = {\n // preprocessor directives and fsi commands:\n begin: [\n /^\\s*/,\n concat(/#/, either(...PREPROCESSOR_KEYWORDS)),\n /\\b/\n ],\n beginScope: { 2: 'meta' },\n end: lookahead(/\\s|$/)\n };\n\n // TODO: this definition is missing support for type suffixes and octal notation.\n // BUG: range operator without any space is wrongly interpreted as a single number (e.g. 1..10 )\n const NUMBER = {\n variants: [\n hljs.BINARY_NUMBER_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n\n // All the following string definitions are potentially multi-line.\n // BUG: these definitions are missing support for byte strings (suffixed with B)\n\n // \"...\"\n const QUOTED_STRING = {\n scope: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE\n ]\n };\n // @\"...\"\n const VERBATIM_STRING = {\n scope: 'string',\n begin: /@\"/,\n end: /\"/,\n contains: [\n {\n match: /\"\"/ // escaped \"\n },\n hljs.BACKSLASH_ESCAPE\n ]\n };\n // \"\"\"...\"\"\"\n const TRIPLE_QUOTED_STRING = {\n scope: 'string',\n begin: /\"\"\"/,\n end: /\"\"\"/,\n relevance: 2\n };\n const SUBST = {\n scope: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: ALL_KEYWORDS\n };\n // $\"...{1+1}...\"\n const INTERPOLATED_STRING = {\n scope: 'string',\n begin: /\\$\"/,\n end: /\"/,\n contains: [\n {\n match: /\\{\\{/ // escaped {\n },\n {\n match: /\\}\\}/ // escaped }\n },\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n // $@\"...{1+1}...\"\n const INTERPOLATED_VERBATIM_STRING = {\n scope: 'string',\n begin: /(\\$@|@\\$)\"/,\n end: /\"/,\n contains: [\n {\n match: /\\{\\{/ // escaped {\n },\n {\n match: /\\}\\}/ // escaped }\n },\n {\n match: /\"\"/\n },\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n // $\"\"\"...{1+1}...\"\"\"\n const INTERPOLATED_TRIPLE_QUOTED_STRING = {\n scope: 'string',\n begin: /\\$\"\"\"/,\n end: /\"\"\"/,\n contains: [\n {\n match: /\\{\\{/ // escaped {\n },\n {\n match: /\\}\\}/ // escaped }\n },\n SUBST\n ],\n relevance: 2\n };\n // '.'\n const CHAR_LITERAL = {\n scope: 'string',\n match: concat(\n /'/,\n either(\n /[^\\\\']/, // either a single non escaped char...\n /\\\\(?:.|\\d{3}|x[a-fA-F\\d]{2}|u[a-fA-F\\d]{4}|U[a-fA-F\\d]{8})/ // ...or an escape sequence\n ),\n /'/\n )\n };\n // F# allows a lot of things inside string placeholders.\n // Things that don't currently seem allowed by the compiler: types definition, attributes usage.\n // (Strictly speaking, some of the followings are only allowed inside triple quoted interpolated strings...)\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n QUOTED_STRING,\n CHAR_LITERAL,\n BANG_KEYWORD_MODE,\n COMMENT,\n QUOTED_IDENTIFIER,\n TYPE_ANNOTATION,\n COMPUTATION_EXPRESSION,\n PREPROCESSOR,\n NUMBER,\n GENERIC_TYPE_SYMBOL,\n OPERATOR\n ];\n const STRING = {\n variants: [\n INTERPOLATED_TRIPLE_QUOTED_STRING,\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n TRIPLE_QUOTED_STRING,\n VERBATIM_STRING,\n QUOTED_STRING,\n CHAR_LITERAL\n ]\n };\n\n return {\n name: 'F#',\n aliases: [\n 'fs',\n 'f#'\n ],\n keywords: ALL_KEYWORDS,\n illegal: /\\/\\*/,\n classNameAliases: {\n 'computation-expression': 'keyword'\n },\n contains: [\n BANG_KEYWORD_MODE,\n STRING,\n COMMENT,\n QUOTED_IDENTIFIER,\n TYPE_DECLARATION,\n {\n // e.g. [] or [<``module``: MyCustomAttributeThatWorksOnModules>]\n // or []\n scope: 'meta',\n begin: /\\[\\]/,\n relevance: 2,\n contains: [\n QUOTED_IDENTIFIER,\n // can contain any constant value\n TRIPLE_QUOTED_STRING,\n VERBATIM_STRING,\n QUOTED_STRING,\n CHAR_LITERAL,\n NUMBER\n ]\n },\n DISCRIMINATED_UNION_TYPE_ANNOTATION,\n TYPE_ANNOTATION,\n COMPUTATION_EXPRESSION,\n PREPROCESSOR,\n NUMBER,\n GENERIC_TYPE_SYMBOL,\n OPERATOR\n ]\n };\n}\n\nexport { fsharp as default };\n","const IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\n\nconst KEYWORDS = [\n \"as\", // for exports\n \"in\",\n \"of\",\n \"if\",\n \"for\",\n \"while\",\n \"finally\",\n \"var\",\n \"new\",\n \"function\",\n \"do\",\n \"return\",\n \"void\",\n \"else\",\n \"break\",\n \"catch\",\n \"instanceof\",\n \"with\",\n \"throw\",\n \"case\",\n \"default\",\n \"try\",\n \"switch\",\n \"continue\",\n \"typeof\",\n \"delete\",\n \"let\",\n \"yield\",\n \"const\",\n \"class\",\n // JS handles these with a special rule\n // \"get\",\n // \"set\",\n \"debugger\",\n \"async\",\n \"await\",\n \"static\",\n \"import\",\n \"from\",\n \"export\",\n \"extends\",\n // It's reached stage 3, which is \"recommended for implementation\":\n \"using\"\n];\nconst LITERALS = [\n \"true\",\n \"false\",\n \"null\",\n \"undefined\",\n \"NaN\",\n \"Infinity\"\n];\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\nconst TYPES = [\n // Fundamental objects\n \"Object\",\n \"Function\",\n \"Boolean\",\n \"Symbol\",\n // numbers and dates\n \"Math\",\n \"Date\",\n \"Number\",\n \"BigInt\",\n // text\n \"String\",\n \"RegExp\",\n // Indexed collections\n \"Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Int32Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"BigInt64Array\",\n \"BigUint64Array\",\n // Keyed collections\n \"Set\",\n \"Map\",\n \"WeakSet\",\n \"WeakMap\",\n // Structured data\n \"ArrayBuffer\",\n \"SharedArrayBuffer\",\n \"Atomics\",\n \"DataView\",\n \"JSON\",\n // Control abstraction objects\n \"Promise\",\n \"Generator\",\n \"GeneratorFunction\",\n \"AsyncFunction\",\n // Reflection\n \"Reflect\",\n \"Proxy\",\n // Internationalization\n \"Intl\",\n // WebAssembly\n \"WebAssembly\"\n];\n\nconst ERROR_TYPES = [\n \"Error\",\n \"EvalError\",\n \"InternalError\",\n \"RangeError\",\n \"ReferenceError\",\n \"SyntaxError\",\n \"TypeError\",\n \"URIError\"\n];\n\nconst BUILT_IN_GLOBALS = [\n \"setInterval\",\n \"setTimeout\",\n \"clearInterval\",\n \"clearTimeout\",\n\n \"require\",\n \"exports\",\n\n \"eval\",\n \"isFinite\",\n \"isNaN\",\n \"parseFloat\",\n \"parseInt\",\n \"decodeURI\",\n \"decodeURIComponent\",\n \"encodeURI\",\n \"encodeURIComponent\",\n \"escape\",\n \"unescape\"\n];\n\nconst BUILT_IN_VARIABLES = [\n \"arguments\",\n \"this\",\n \"super\",\n \"console\",\n \"window\",\n \"document\",\n \"localStorage\",\n \"sessionStorage\",\n \"module\",\n \"self\",\n \"global\" // Node.js\n];\n\nconst BUILT_INS = [].concat(\n BUILT_IN_GLOBALS,\n TYPES,\n ERROR_TYPES\n);\n\n/*\nLanguage: JavaScript\nDescription: JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions.\nCategory: common, scripting, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/JavaScript\n*/\n\n\n/** @type LanguageFn */\nfunction javascript(hljs) {\n const regex = hljs.regex;\n /**\n * Takes a string like \" {\n const tag = \"',\n end: ''\n };\n // to avoid some special cases inside isTrulyOpeningTag\n const XML_SELF_CLOSING = /<[A-Za-z0-9\\\\._:-]+\\s*\\/>/;\n const XML_TAG = {\n begin: /<[A-Za-z0-9\\\\._:-]+/,\n end: /\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,\n /**\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\n isTrulyOpeningTag: (match, response) => {\n const afterMatchIndex = match[0].length + match.index;\n const nextChar = match.input[afterMatchIndex];\n if (\n // HTML should not include another raw `<` inside a tag\n // nested type?\n // `>`, etc.\n nextChar === \"<\" ||\n // the , gives away that this is not HTML\n // ``\n nextChar === \",\"\n ) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // Quite possibly a tag, lets look for a matching closing tag...\n if (nextChar === \">\") {\n // if we cannot find a matching closing tag, then we\n // will ignore it\n if (!hasClosingTag(match, { after: afterMatchIndex })) {\n response.ignoreMatch();\n }\n }\n\n // `` (self-closing)\n // handled by simpleSelfClosing rule\n\n let m;\n const afterMatch = match.input.substring(afterMatchIndex);\n\n // some more template typing stuff\n // (key?: string) => Modify<\n if ((m = afterMatch.match(/^\\s*=/))) {\n response.ignoreMatch();\n return;\n }\n\n // ``\n // technically this could be HTML, but it smells like a type\n // NOTE: This is ugh, but added specifically for https://github.com/highlightjs/highlight.js/issues/3276\n if ((m = afterMatch.match(/^\\s+extends\\s+/))) {\n if (m.index === 0) {\n response.ignoreMatch();\n // eslint-disable-next-line no-useless-return\n return;\n }\n }\n }\n };\n const KEYWORDS$1 = {\n $pattern: IDENT_RE,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: BUILT_INS,\n \"variable.language\": BUILT_IN_VARIABLES\n };\n\n // https://tc39.es/ecma262/#sec-literals-numeric-literals\n const decimalDigits = '[0-9](_?[0-9])*';\n const frac = `\\\\.(${decimalDigits})`;\n // DecimalIntegerLiteral, including Annex B NonOctalDecimalIntegerLiteral\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n const decimalInteger = `0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`;\n const NUMBER = {\n className: 'number',\n variants: [\n // DecimalLiteral\n { begin: `(\\\\b(${decimalInteger})((${frac})|\\\\.)?|(${frac}))` +\n `[eE][+-]?(${decimalDigits})\\\\b` },\n { begin: `\\\\b(${decimalInteger})\\\\b((${frac})\\\\b|\\\\.)?|(${frac})\\\\b` },\n\n // DecimalBigIntegerLiteral\n { begin: `\\\\b(0|[1-9](_?[0-9])*)n\\\\b` },\n\n // NonDecimalIntegerLiteral\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\" },\n\n // LegacyOctalIntegerLiteral (does not include underscore separators)\n // https://tc39.es/ecma262/#sec-additional-syntax-numeric-literals\n { begin: \"\\\\b0[0-7]+n?\\\\b\" },\n ],\n relevance: 0\n };\n\n const SUBST = {\n className: 'subst',\n begin: '\\\\$\\\\{',\n end: '\\\\}',\n keywords: KEYWORDS$1,\n contains: [] // defined later\n };\n const HTML_TEMPLATE = {\n begin: '\\.?html`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'xml'\n }\n };\n const CSS_TEMPLATE = {\n begin: '\\.?css`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'css'\n }\n };\n const GRAPHQL_TEMPLATE = {\n begin: '\\.?gql`',\n end: '',\n starts: {\n end: '`',\n returnEnd: false,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n subLanguage: 'graphql'\n }\n };\n const TEMPLATE_STRING = {\n className: 'string',\n begin: '`',\n end: '`',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n };\n const JSDOC_COMMENT = hljs.COMMENT(\n /\\/\\*\\*(?!\\/)/,\n '\\\\*/',\n {\n relevance: 0,\n contains: [\n {\n begin: '(?=@[A-Za-z]+)',\n relevance: 0,\n contains: [\n {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n },\n {\n className: 'type',\n begin: '\\\\{',\n end: '\\\\}',\n excludeEnd: true,\n excludeBegin: true,\n relevance: 0\n },\n {\n className: 'variable',\n begin: IDENT_RE$1 + '(?=\\\\s*(-)|$)',\n endsParent: true,\n relevance: 0\n },\n // eat spaces (not newlines) so we can find\n // types or variables\n {\n begin: /(?=[^\\n])\\s/,\n relevance: 0\n }\n ]\n }\n ]\n }\n );\n const COMMENT = {\n className: \"comment\",\n variants: [\n JSDOC_COMMENT,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.C_LINE_COMMENT_MODE\n ]\n };\n const SUBST_INTERNALS = [\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n // This is intentional:\n // See https://github.com/highlightjs/highlight.js/issues/3288\n // hljs.REGEXP_MODE\n ];\n SUBST.contains = SUBST_INTERNALS\n .concat({\n // we need to pair up {} inside our subst to prevent\n // it from ending too early by matching another }\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS$1,\n contains: [\n \"self\"\n ].concat(SUBST_INTERNALS)\n });\n const SUBST_AND_COMMENTS = [].concat(COMMENT, SUBST.contains);\n const PARAMS_CONTAINS = SUBST_AND_COMMENTS.concat([\n // eat recursive parens in sub expressions\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n keywords: KEYWORDS$1,\n contains: [\"self\"].concat(SUBST_AND_COMMENTS)\n }\n ]);\n const PARAMS = {\n className: 'params',\n // convert this to negative lookbehind in v12\n begin: /(\\s*)\\(/, // to match the parms with\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n };\n\n // ES6 classes\n const CLASS_OR_EXTENDS = {\n variants: [\n // class Car extends vehicle\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1,\n /\\s+/,\n /extends/,\n /\\s+/,\n regex.concat(IDENT_RE$1, \"(\", regex.concat(/\\./, IDENT_RE$1), \")*\")\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 5: \"keyword\",\n 7: \"title.class.inherited\"\n }\n },\n // class Car\n {\n match: [\n /class/,\n /\\s+/,\n IDENT_RE$1\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\"\n }\n },\n\n ]\n };\n\n const CLASS_REFERENCE = {\n relevance: 0,\n match:\n regex.either(\n // Hard coded exceptions\n /\\bJSON/,\n // Float32Array, OutT\n /\\b[A-Z][a-z]+([A-Z][a-z]*|\\d)*/,\n // CSSFactory, CSSFactoryT\n /\\b[A-Z]{2,}([A-Z][a-z]+|\\d)+([A-Z][a-z]*)*/,\n // FPs, FPsT\n /\\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\\d)*([A-Z][a-z]*)*/,\n // P\n // single letters are not highlighted\n // BLAH\n // this will be flagged as a UPPER_CASE_CONSTANT instead\n ),\n className: \"title.class\",\n keywords: {\n _: [\n // se we still get relevance credit for JS library classes\n ...TYPES,\n ...ERROR_TYPES\n ]\n }\n };\n\n const USE_STRICT = {\n label: \"use_strict\",\n className: 'meta',\n relevance: 10,\n begin: /^\\s*['\"]use (strict|asm)['\"]/\n };\n\n const FUNCTION_DEFINITION = {\n variants: [\n {\n match: [\n /function/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\s*\\()/\n ]\n },\n // anonymous function\n {\n match: [\n /function/,\n /\\s*(?=\\()/\n ]\n }\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n label: \"func.def\",\n contains: [ PARAMS ],\n illegal: /%/\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n function noneOf(list) {\n return regex.concat(\"(?!\", list.join(\"|\"), \")\");\n }\n\n const FUNCTION_CALL = {\n match: regex.concat(\n /\\b/,\n noneOf([\n ...BUILT_IN_GLOBALS,\n \"super\",\n \"import\",\n \"await\",\n ].map(x => `${x}\\\\s*\\\\(`)),\n IDENT_RE$1, regex.lookahead(/\\s*\\(/)),\n className: \"title.function\",\n relevance: 0\n };\n\n const PROPERTY_ACCESS = {\n begin: regex.concat(/\\./, regex.lookahead(\n regex.concat(IDENT_RE$1, /(?![0-9A-Za-z$_(])/)\n )),\n end: IDENT_RE$1,\n excludeBegin: true,\n keywords: \"prototype\",\n className: \"property\",\n relevance: 0\n };\n\n const GETTER_OR_SETTER = {\n match: [\n /get|set/,\n /\\s+/,\n IDENT_RE$1,\n /(?=\\()/\n ],\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n { // eat to avoid empty params\n begin: /\\(\\)/\n },\n PARAMS\n ]\n };\n\n const FUNC_LEAD_IN_RE = '(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)|' + hljs.UNDERSCORE_IDENT_RE + ')\\\\s*=>';\n\n const FUNCTION_VARIABLE = {\n match: [\n /const|var|let/, /\\s+/,\n IDENT_RE$1, /\\s*/,\n /=\\s*/,\n /(async\\s*)?/, // async is optional\n regex.lookahead(FUNC_LEAD_IN_RE)\n ],\n keywords: \"async\",\n className: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n return {\n name: 'JavaScript',\n aliases: ['js', 'jsx', 'mjs', 'cjs'],\n keywords: KEYWORDS$1,\n // this will be extended by TypeScript\n exports: { PARAMS_CONTAINS, CLASS_REFERENCE },\n illegal: /#(?![$_A-Za-z])/,\n contains: [\n hljs.SHEBANG({\n label: \"shebang\",\n binary: \"node\",\n relevance: 5\n }),\n USE_STRICT,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n HTML_TEMPLATE,\n CSS_TEMPLATE,\n GRAPHQL_TEMPLATE,\n TEMPLATE_STRING,\n COMMENT,\n // Skip numbers when they are part of a variable name\n { match: /\\$\\d+/ },\n NUMBER,\n CLASS_REFERENCE,\n {\n scope: 'attr',\n match: IDENT_RE$1 + regex.lookahead(':'),\n relevance: 0\n },\n FUNCTION_VARIABLE,\n { // \"value\" container\n begin: '(' + hljs.RE_STARTERS_RE + '|\\\\b(case|return|throw)\\\\b)\\\\s*',\n keywords: 'return throw case',\n relevance: 0,\n contains: [\n COMMENT,\n hljs.REGEXP_MODE,\n {\n className: 'function',\n // we have to count the parens to make sure we actually have the\n // correct bounding ( ) before the =>. There could be any number of\n // sub-expressions inside also surrounded by parens.\n begin: FUNC_LEAD_IN_RE,\n returnBegin: true,\n end: '\\\\s*=>',\n contains: [\n {\n className: 'params',\n variants: [\n {\n begin: hljs.UNDERSCORE_IDENT_RE,\n relevance: 0\n },\n {\n className: null,\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /(\\s*)\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS$1,\n contains: PARAMS_CONTAINS\n }\n ]\n }\n ]\n },\n { // could be a comma delimited list of params to a function call\n begin: /,/,\n relevance: 0\n },\n {\n match: /\\s+/,\n relevance: 0\n },\n { // JSX\n variants: [\n { begin: FRAGMENT.begin, end: FRAGMENT.end },\n { match: XML_SELF_CLOSING },\n {\n begin: XML_TAG.begin,\n // we carefully check the opening tag to see if it truly\n // is a tag and not a false positive\n 'on:begin': XML_TAG.isTrulyOpeningTag,\n end: XML_TAG.end\n }\n ],\n subLanguage: 'xml',\n contains: [\n {\n begin: XML_TAG.begin,\n end: XML_TAG.end,\n skip: true,\n contains: ['self']\n }\n ]\n }\n ],\n },\n FUNCTION_DEFINITION,\n {\n // prevent this from getting swallowed up by function\n // since they appear \"function like\"\n beginKeywords: \"while if switch catch for\"\n },\n {\n // we have to count the parens to make sure we actually have the correct\n // bounding ( ). There could be any number of sub-expressions inside\n // also surrounded by parens.\n begin: '\\\\b(?!function)' + hljs.UNDERSCORE_IDENT_RE +\n '\\\\(' + // first parens\n '[^()]*(\\\\(' +\n '[^()]*(\\\\(' +\n '[^()]*' +\n '\\\\)[^()]*)*' +\n '\\\\)[^()]*)*' +\n '\\\\)\\\\s*\\\\{', // end parens\n returnBegin:true,\n label: \"func.def\",\n contains: [\n PARAMS,\n hljs.inherit(hljs.TITLE_MODE, { begin: IDENT_RE$1, className: \"title.function\" })\n ]\n },\n // catch ... so it won't trigger the property rule below\n {\n match: /\\.\\.\\./,\n relevance: 0\n },\n PROPERTY_ACCESS,\n // hack: prevents detection of keywords in some circumstances\n // .keyword()\n // $keyword = x\n {\n match: '\\\\$' + IDENT_RE$1,\n relevance: 0\n },\n {\n match: [ /\\bconstructor(?=\\s*\\()/ ],\n className: { 1: \"title.function\" },\n contains: [ PARAMS ]\n },\n FUNCTION_CALL,\n UPPER_CASE_CONSTANT,\n CLASS_OR_EXTENDS,\n GETTER_OR_SETTER,\n {\n match: /\\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something`\n }\n ]\n };\n}\n\nexport { javascript as default };\n","const EXTENDED_NUMBER_RE = '([-+]?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)|NaN|[-+]?Infinity'; // 0x..., 0..., decimal, float\n\nconst EXTENDED_NUMBER_MODE = {\n scope: 'number',\n match: EXTENDED_NUMBER_RE,\n relevance: 0\n};\n\n/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nWebsites: http://www.json.org, https://www.json5.org\nCategory: common, protocols, web\n*/\n\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /((\"(\\\\.|[^\\\\\"\\r\\n])*\")|('(\\\\.|[^\\\\'\\r\\n])*'))(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\"\n ];\n // NOTE: normally we would rely on `keywords` for this but using a mode here allows us\n // - to use the very tight `illegal: \\S` rule later to flag any other character\n // - as illegal indicating that despite looking like JSON we do not truly have\n // - JSON and thus improve false-positively greatly since JSON will try and claim\n // - all sorts of JSON looking stuff\n const LITERALS_MODE = {\n scope: \"literal\",\n beginKeywords: LITERALS.join(\" \"),\n };\n\n return {\n name: 'JSON',\n aliases: ['jsonc', 'json5'],\n keywords:{\n literal: LITERALS,\n },\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n LITERALS_MODE,\n EXTENDED_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\nexport { json as default };\n","\nimport highlightjs from 'highlight.js/lib/core';\nimport 'highlight.js/styles/github.css';\nimport bash from 'highlight.js/lib/languages/bash';\nimport csharp from 'highlight.js/lib/languages/csharp';\nimport css from 'highlight.js/lib/languages/css';\nimport fsharp from 'highlight.js/lib/languages/fsharp';\nimport http from 'highlight.js/lib/languages/http';\nimport javascript from 'highlight.js/lib/languages/javascript';\nimport json from 'highlight.js/lib/languages/json';\nimport julia from 'highlight.js/lib/languages/julia';\nimport markdown from 'highlight.js/lib/languages/markdown';\nimport matlab from 'highlight.js/lib/languages/matlab';\nimport plaintext from 'highlight.js/lib/languages/plaintext';\nimport python from 'highlight.js/lib/languages/python';\nimport r from 'highlight.js/lib/languages/r';\nimport ruby from 'highlight.js/lib/languages/ruby';\nimport shell from 'highlight.js/lib/languages/shell';\nimport sql from 'highlight.js/lib/languages/sql';\nimport xml from 'highlight.js/lib/languages/xml';\nimport yaml from 'highlight.js/lib/languages/yaml';\nhighlightjs.registerLanguage('bash', bash);\nhighlightjs.registerLanguage('csharp', csharp);\nhighlightjs.registerLanguage('css', css);\nhighlightjs.registerLanguage('fsharp', fsharp);\nhighlightjs.registerLanguage('http', http);\nhighlightjs.registerLanguage('javascript', javascript);\nhighlightjs.registerLanguage('json', json);\nhighlightjs.registerLanguage('julia', julia);\nhighlightjs.registerLanguage('markdown', markdown);\nhighlightjs.registerLanguage('matlab', matlab);\nhighlightjs.registerLanguage('plaintext', plaintext);\nhighlightjs.registerLanguage('python', python);\nhighlightjs.registerLanguage('r', r);\nhighlightjs.registerLanguage('ruby', ruby);\nhighlightjs.registerLanguage('shell', shell);\nhighlightjs.registerLanguage('sql', sql);\nhighlightjs.registerLanguage('xml', xml);\nhighlightjs.registerLanguage('yaml', yaml);\nexport default highlightjs;\n","/*\nLanguage: Bash\nAuthor: vah \nContributrors: Benjamin Pannell \nWebsite: https://www.gnu.org/software/bash/\nCategory: common, scripting\n*/\n\n/** @type LanguageFn */\nfunction bash(hljs) {\n const regex = hljs.regex;\n const VAR = {};\n const BRACED_VAR = {\n begin: /\\$\\{/,\n end: /\\}/,\n contains: [\n \"self\",\n {\n begin: /:-/,\n contains: [ VAR ]\n } // default values\n ]\n };\n Object.assign(VAR, {\n className: 'variable',\n variants: [\n { begin: regex.concat(/\\$[\\w\\d#@][\\w\\d_]*/,\n // negative look-ahead tries to avoid matching patterns that are not\n // Perl at all like $ident$, @ident@, etc.\n `(?![\\\\w\\\\d])(?![$])`) },\n BRACED_VAR\n ]\n });\n\n const SUBST = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const COMMENT = hljs.inherit(\n hljs.COMMENT(),\n {\n match: [\n /(^|\\s)/,\n /#.*$/\n ],\n scope: {\n 2: 'comment'\n }\n }\n );\n const HERE_DOC = {\n begin: /<<-?\\s*(?=\\w+)/,\n starts: { contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n className: 'string'\n })\n ] }\n };\n const QUOTE_STRING = {\n className: 'string',\n begin: /\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n VAR,\n SUBST\n ]\n };\n SUBST.contains.push(QUOTE_STRING);\n const ESCAPED_QUOTE = {\n match: /\\\\\"/\n };\n const APOS_STRING = {\n className: 'string',\n begin: /'/,\n end: /'/\n };\n const ESCAPED_APOS = {\n match: /\\\\'/\n };\n const ARITHMETIC = {\n begin: /\\$?\\(\\(/,\n end: /\\)\\)/,\n contains: [\n {\n begin: /\\d+#[0-9a-f]+/,\n className: \"number\"\n },\n hljs.NUMBER_MODE,\n VAR\n ]\n };\n const SH_LIKE_SHELLS = [\n \"fish\",\n \"bash\",\n \"zsh\",\n \"sh\",\n \"csh\",\n \"ksh\",\n \"tcsh\",\n \"dash\",\n \"scsh\",\n ];\n const KNOWN_SHEBANG = hljs.SHEBANG({\n binary: `(${SH_LIKE_SHELLS.join(\"|\")})`,\n relevance: 10\n });\n const FUNCTION = {\n className: 'function',\n begin: /\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,\n returnBegin: true,\n contains: [ hljs.inherit(hljs.TITLE_MODE, { begin: /\\w[\\w\\d_]*/ }) ],\n relevance: 0\n };\n\n const KEYWORDS = [\n \"if\",\n \"then\",\n \"else\",\n \"elif\",\n \"fi\",\n \"time\",\n \"for\",\n \"while\",\n \"until\",\n \"in\",\n \"do\",\n \"done\",\n \"case\",\n \"esac\",\n \"coproc\",\n \"function\",\n \"select\"\n ];\n\n const LITERALS = [\n \"true\",\n \"false\"\n ];\n\n // to consume paths to prevent keyword matches inside them\n const PATH_MODE = { match: /(\\/[a-z._-]+)+/ };\n\n // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n const SHELL_BUILT_INS = [\n \"break\",\n \"cd\",\n \"continue\",\n \"eval\",\n \"exec\",\n \"exit\",\n \"export\",\n \"getopts\",\n \"hash\",\n \"pwd\",\n \"readonly\",\n \"return\",\n \"shift\",\n \"test\",\n \"times\",\n \"trap\",\n \"umask\",\n \"unset\"\n ];\n\n const BASH_BUILT_INS = [\n \"alias\",\n \"bind\",\n \"builtin\",\n \"caller\",\n \"command\",\n \"declare\",\n \"echo\",\n \"enable\",\n \"help\",\n \"let\",\n \"local\",\n \"logout\",\n \"mapfile\",\n \"printf\",\n \"read\",\n \"readarray\",\n \"source\",\n \"sudo\",\n \"type\",\n \"typeset\",\n \"ulimit\",\n \"unalias\"\n ];\n\n const ZSH_BUILT_INS = [\n \"autoload\",\n \"bg\",\n \"bindkey\",\n \"bye\",\n \"cap\",\n \"chdir\",\n \"clone\",\n \"comparguments\",\n \"compcall\",\n \"compctl\",\n \"compdescribe\",\n \"compfiles\",\n \"compgroups\",\n \"compquote\",\n \"comptags\",\n \"comptry\",\n \"compvalues\",\n \"dirs\",\n \"disable\",\n \"disown\",\n \"echotc\",\n \"echoti\",\n \"emulate\",\n \"fc\",\n \"fg\",\n \"float\",\n \"functions\",\n \"getcap\",\n \"getln\",\n \"history\",\n \"integer\",\n \"jobs\",\n \"kill\",\n \"limit\",\n \"log\",\n \"noglob\",\n \"popd\",\n \"print\",\n \"pushd\",\n \"pushln\",\n \"rehash\",\n \"sched\",\n \"setcap\",\n \"setopt\",\n \"stat\",\n \"suspend\",\n \"ttyctl\",\n \"unfunction\",\n \"unhash\",\n \"unlimit\",\n \"unsetopt\",\n \"vared\",\n \"wait\",\n \"whence\",\n \"where\",\n \"which\",\n \"zcompile\",\n \"zformat\",\n \"zftp\",\n \"zle\",\n \"zmodload\",\n \"zparseopts\",\n \"zprof\",\n \"zpty\",\n \"zregexparse\",\n \"zsocket\",\n \"zstyle\",\n \"ztcp\"\n ];\n\n const GNU_CORE_UTILS = [\n \"chcon\",\n \"chgrp\",\n \"chown\",\n \"chmod\",\n \"cp\",\n \"dd\",\n \"df\",\n \"dir\",\n \"dircolors\",\n \"ln\",\n \"ls\",\n \"mkdir\",\n \"mkfifo\",\n \"mknod\",\n \"mktemp\",\n \"mv\",\n \"realpath\",\n \"rm\",\n \"rmdir\",\n \"shred\",\n \"sync\",\n \"touch\",\n \"truncate\",\n \"vdir\",\n \"b2sum\",\n \"base32\",\n \"base64\",\n \"cat\",\n \"cksum\",\n \"comm\",\n \"csplit\",\n \"cut\",\n \"expand\",\n \"fmt\",\n \"fold\",\n \"head\",\n \"join\",\n \"md5sum\",\n \"nl\",\n \"numfmt\",\n \"od\",\n \"paste\",\n \"ptx\",\n \"pr\",\n \"sha1sum\",\n \"sha224sum\",\n \"sha256sum\",\n \"sha384sum\",\n \"sha512sum\",\n \"shuf\",\n \"sort\",\n \"split\",\n \"sum\",\n \"tac\",\n \"tail\",\n \"tr\",\n \"tsort\",\n \"unexpand\",\n \"uniq\",\n \"wc\",\n \"arch\",\n \"basename\",\n \"chroot\",\n \"date\",\n \"dirname\",\n \"du\",\n \"echo\",\n \"env\",\n \"expr\",\n \"factor\",\n // \"false\", // keyword literal already\n \"groups\",\n \"hostid\",\n \"id\",\n \"link\",\n \"logname\",\n \"nice\",\n \"nohup\",\n \"nproc\",\n \"pathchk\",\n \"pinky\",\n \"printenv\",\n \"printf\",\n \"pwd\",\n \"readlink\",\n \"runcon\",\n \"seq\",\n \"sleep\",\n \"stat\",\n \"stdbuf\",\n \"stty\",\n \"tee\",\n \"test\",\n \"timeout\",\n // \"true\", // keyword literal already\n \"tty\",\n \"uname\",\n \"unlink\",\n \"uptime\",\n \"users\",\n \"who\",\n \"whoami\",\n \"yes\"\n ];\n\n return {\n name: 'Bash',\n aliases: [\n 'sh',\n 'zsh'\n ],\n keywords: {\n $pattern: /\\b[a-z][a-z0-9._-]+\\b/,\n keyword: KEYWORDS,\n literal: LITERALS,\n built_in: [\n ...SHELL_BUILT_INS,\n ...BASH_BUILT_INS,\n // Shell modifiers\n \"set\",\n \"shopt\",\n ...ZSH_BUILT_INS,\n ...GNU_CORE_UTILS\n ]\n },\n contains: [\n KNOWN_SHEBANG, // to catch known shells and boost relevancy\n hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang\n FUNCTION,\n ARITHMETIC,\n COMMENT,\n HERE_DOC,\n PATH_MODE,\n QUOTE_STRING,\n ESCAPED_QUOTE,\n APOS_STRING,\n ESCAPED_APOS,\n VAR\n ]\n };\n}\n\nexport { bash as default };\n","/*\nLanguage: C#\nAuthor: Jason Diamond \nContributor: Nicolas LLOBERA , Pieter Vantorre , David Pine \nWebsite: https://docs.microsoft.com/dotnet/csharp/\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction csharp(hljs) {\n const BUILT_IN_KEYWORDS = [\n 'bool',\n 'byte',\n 'char',\n 'decimal',\n 'delegate',\n 'double',\n 'dynamic',\n 'enum',\n 'float',\n 'int',\n 'long',\n 'nint',\n 'nuint',\n 'object',\n 'sbyte',\n 'short',\n 'string',\n 'ulong',\n 'uint',\n 'ushort'\n ];\n const FUNCTION_MODIFIERS = [\n 'public',\n 'private',\n 'protected',\n 'static',\n 'internal',\n 'protected',\n 'abstract',\n 'async',\n 'extern',\n 'override',\n 'unsafe',\n 'virtual',\n 'new',\n 'sealed',\n 'partial'\n ];\n const LITERAL_KEYWORDS = [\n 'default',\n 'false',\n 'null',\n 'true'\n ];\n const NORMAL_KEYWORDS = [\n 'abstract',\n 'as',\n 'base',\n 'break',\n 'case',\n 'catch',\n 'class',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'event',\n 'explicit',\n 'extern',\n 'finally',\n 'fixed',\n 'for',\n 'foreach',\n 'goto',\n 'if',\n 'implicit',\n 'in',\n 'interface',\n 'internal',\n 'is',\n 'lock',\n 'namespace',\n 'new',\n 'operator',\n 'out',\n 'override',\n 'params',\n 'private',\n 'protected',\n 'public',\n 'readonly',\n 'record',\n 'ref',\n 'return',\n 'scoped',\n 'sealed',\n 'sizeof',\n 'stackalloc',\n 'static',\n 'struct',\n 'switch',\n 'this',\n 'throw',\n 'try',\n 'typeof',\n 'unchecked',\n 'unsafe',\n 'using',\n 'virtual',\n 'void',\n 'volatile',\n 'while'\n ];\n const CONTEXTUAL_KEYWORDS = [\n 'add',\n 'alias',\n 'and',\n 'ascending',\n 'args',\n 'async',\n 'await',\n 'by',\n 'descending',\n 'dynamic',\n 'equals',\n 'file',\n 'from',\n 'get',\n 'global',\n 'group',\n 'init',\n 'into',\n 'join',\n 'let',\n 'nameof',\n 'not',\n 'notnull',\n 'on',\n 'or',\n 'orderby',\n 'partial',\n 'record',\n 'remove',\n 'required',\n 'scoped',\n 'select',\n 'set',\n 'unmanaged',\n 'value|0',\n 'var',\n 'when',\n 'where',\n 'with',\n 'yield'\n ];\n\n const KEYWORDS = {\n keyword: NORMAL_KEYWORDS.concat(CONTEXTUAL_KEYWORDS),\n built_in: BUILT_IN_KEYWORDS,\n literal: LITERAL_KEYWORDS\n };\n const TITLE_MODE = hljs.inherit(hljs.TITLE_MODE, { begin: '[a-zA-Z](\\\\.?\\\\w)*' });\n // https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/integral-numeric-types\n // https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types\n // `_` separators sit between digits, and may also follow the `0x`/`0b` prefix\n const DIGITS = '\\\\d(_*\\\\d)*';\n const INTEGER_SUFFIX = '([uU][lL]?|[lL][uU]?)?';\n const REAL_SUFFIX = '([fFdDmM]|[uU][lL]?|[lL][uU]?)?';\n const NUMBERS = {\n className: 'number',\n variants: [\n { begin: '\\\\b0[bB]_*[01](_*[01])*' + INTEGER_SUFFIX },\n { begin: '(-?)\\\\b0[xX]_*[a-fA-F0-9](_*[a-fA-F0-9])*' + INTEGER_SUFFIX },\n { begin: '(-?)(\\\\b' + DIGITS + '(\\\\.(' + DIGITS + ')?)?|\\\\.' + DIGITS + ')([eE][-+]?' + DIGITS + ')?' + REAL_SUFFIX }\n ],\n relevance: 0\n };\n const RAW_STRING = {\n className: 'string',\n begin: /\"\"\"(\"*)(?!\")(.|\\n)*?\"\"\"\\1/,\n relevance: 1\n };\n const VERBATIM_STRING = {\n className: 'string',\n begin: '@\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ]\n };\n const VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, { illegal: /\\n/ });\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS\n };\n const SUBST_NO_LF = hljs.inherit(SUBST, { illegal: /\\n/ });\n const INTERPOLATED_STRING = {\n className: 'string',\n begin: /\\$\"/,\n end: '\"',\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n hljs.BACKSLASH_ESCAPE,\n SUBST_NO_LF\n ]\n };\n const INTERPOLATED_VERBATIM_STRING = {\n className: 'string',\n begin: /\\$@\"/,\n end: '\"',\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST\n ]\n };\n const INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, {\n illegal: /\\n/,\n contains: [\n { begin: /\\{\\{/ },\n { begin: /\\}\\}/ },\n { begin: '\"\"' },\n SUBST_NO_LF\n ]\n });\n SUBST.contains = [\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ];\n SUBST_NO_LF.contains = [\n INTERPOLATED_VERBATIM_STRING_NO_LF,\n INTERPOLATED_STRING,\n VERBATIM_STRING_NO_LF,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n NUMBERS,\n hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, { illegal: /\\n/ })\n ];\n const STRING = { variants: [\n RAW_STRING,\n INTERPOLATED_VERBATIM_STRING,\n INTERPOLATED_STRING,\n VERBATIM_STRING,\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ] };\n\n const GENERIC_MODIFIER = {\n begin: \"<\",\n end: \">\",\n contains: [\n { beginKeywords: \"in out\" },\n TITLE_MODE\n ]\n };\n const TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\\\s*,\\\\s*' + hljs.IDENT_RE + ')*>)?(\\\\[\\\\])?';\n const AT_IDENTIFIER = {\n // prevents expressions like `@class` from incorrect flagging\n // `class` as a keyword\n begin: \"@\" + hljs.IDENT_RE,\n relevance: 0\n };\n\n return {\n name: 'C#',\n aliases: [\n 'cs',\n 'c#'\n ],\n keywords: KEYWORDS,\n illegal: /::/,\n contains: [\n hljs.COMMENT(\n '///',\n '$',\n {\n returnBegin: true,\n contains: [\n {\n className: 'doctag',\n variants: [\n {\n begin: '///',\n relevance: 0\n },\n { begin: '' },\n {\n begin: ''\n }\n ]\n }\n ]\n }\n ),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n {\n className: 'meta',\n begin: '#',\n end: '$',\n keywords: { keyword: 'if else elif endif define undef warning error line region endregion pragma checksum' }\n },\n STRING,\n NUMBERS,\n {\n beginKeywords: 'class interface',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:,]/,\n contains: [\n { beginKeywords: \"where class\" },\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'namespace',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n beginKeywords: 'record',\n relevance: 0,\n end: /[{;=]/,\n illegal: /[^\\s:]/,\n contains: [\n TITLE_MODE,\n GENERIC_MODIFIER,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n {\n // [Attributes(\"\")]\n className: 'meta',\n begin: '^\\\\s*\\\\[(?=[\\\\w])',\n excludeBegin: true,\n end: '\\\\]',\n excludeEnd: true,\n contains: [\n {\n className: 'string',\n begin: /\"/,\n end: /\"/\n }\n ]\n },\n {\n // Expression keywords prevent 'keyword Name(...)' from being\n // recognized as a function definition\n beginKeywords: 'new return throw await else',\n relevance: 0\n },\n {\n className: 'function',\n begin: '(' + TYPE_IDENT_RE + '\\\\s+)+' + hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n end: /\\s*[{;=]/,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n // prevents these from being highlighted `title`\n {\n beginKeywords: FUNCTION_MODIFIERS.join(\" \"),\n relevance: 0\n },\n {\n begin: hljs.IDENT_RE + '\\\\s*(<[^=]+>\\\\s*)?\\\\(',\n returnBegin: true,\n contains: [\n hljs.TITLE_MODE,\n GENERIC_MODIFIER\n ],\n relevance: 0\n },\n { match: /\\(\\)/ },\n {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [\n STRING,\n NUMBERS,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ]\n },\n AT_IDENTIFIER\n ]\n };\n}\n\nexport { csharp as default };\n","/*\nLanguage: HTTP\nDescription: HTTP request and response headers with automatic body highlighting\nAuthor: Ivan Sagalaev \nCategory: protocols, web\nWebsite: https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview\n*/\n\nfunction http(hljs) {\n const regex = hljs.regex;\n const VERSION = 'HTTP/([32]|1\\\\.[01])';\n const HEADER_NAME = /[A-Za-z][A-Za-z0-9-]*/;\n const HEADER = {\n className: 'attribute',\n begin: regex.concat('^', HEADER_NAME, '(?=\\\\:\\\\s)'),\n starts: { contains: [\n {\n className: \"punctuation\",\n begin: /: /,\n relevance: 0,\n starts: {\n end: '$',\n relevance: 0\n }\n }\n ] }\n };\n const HEADERS_AND_BODY = [\n HEADER,\n {\n begin: '\\\\n\\\\n',\n starts: {\n subLanguage: [],\n endsWithParent: true\n }\n }\n ];\n\n return {\n name: 'HTTP',\n aliases: [ 'https' ],\n illegal: /\\S/,\n contains: [\n // response\n {\n begin: '^(?=' + VERSION + \" \\\\d{3})\",\n end: /$/,\n contains: [\n {\n className: \"meta\",\n begin: VERSION\n },\n {\n className: 'number',\n begin: '\\\\b\\\\d{3}\\\\b'\n }\n ],\n starts: {\n end: /\\b\\B/,\n illegal: /\\S/,\n contains: HEADERS_AND_BODY\n }\n },\n // request\n {\n begin: '(?=^[A-Z]+ (.*?) ' + VERSION + '$)',\n end: /$/,\n contains: [\n {\n className: 'string',\n begin: ' ',\n end: ' ',\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: \"meta\",\n begin: VERSION\n },\n {\n className: 'keyword',\n begin: '[A-Z]+'\n }\n ],\n starts: {\n end: /\\b\\B/,\n illegal: /\\S/,\n contains: HEADERS_AND_BODY\n }\n },\n // to allow headers to work even without a preamble\n hljs.inherit(HEADER, { relevance: 0 })\n ]\n };\n}\n\nexport { http as default };\n","/*\nLanguage: Julia\nDescription: Julia is a high-level, high-performance, dynamic programming language.\nAuthor: Kenta Sato \nContributors: Alex Arslan , Fredrik Ekre \nWebsite: https://julialang.org\nCategory: scientific\n*/\n\nfunction julia(hljs) {\n // Since there are numerous special names in Julia, it is too much trouble\n // to maintain them by hand. Hence these names (i.e. keywords, literals and\n // built-ins) are automatically generated from Julia 1.5.2 itself through\n // the following scripts for each.\n\n // ref: https://docs.julialang.org/en/v1/manual/variables/#Allowed-Variable-Names\n const VARIABLE_NAME_RE = '[A-Za-z_\\\\u00A1-\\\\uFFFF][A-Za-z_0-9\\\\u00A1-\\\\uFFFF]*';\n\n // # keyword generator, multi-word keywords handled manually below (Julia 1.5.2)\n // import REPL.REPLCompletions\n // res = String[\"in\", \"isa\", \"where\"]\n // for kw in collect(x.keyword for x in REPLCompletions.complete_keyword(\"\"))\n // if !(contains(kw, \" \") || kw == \"struct\")\n // push!(res, kw)\n // end\n // end\n // sort!(unique!(res))\n // foreach(x -> println(\"\\'\", x, \"\\',\"), res)\n const KEYWORD_LIST = [\n 'baremodule',\n 'begin',\n 'break',\n 'catch',\n 'ccall',\n 'const',\n 'continue',\n 'do',\n 'else',\n 'elseif',\n 'end',\n 'export',\n 'false',\n 'finally',\n 'for',\n 'function',\n 'global',\n 'if',\n 'import',\n 'in',\n 'isa',\n 'let',\n 'local',\n 'macro',\n 'module',\n 'quote',\n 'return',\n 'true',\n 'try',\n 'using',\n 'where',\n 'while',\n ];\n\n // # literal generator (Julia 1.5.2)\n // import REPL.REPLCompletions\n // res = String[\"true\", \"false\"]\n // for compl in filter!(x -> isa(x, REPLCompletions.ModuleCompletion) && (x.parent === Base || x.parent === Core),\n // REPLCompletions.completions(\"\", 0)[1])\n // try\n // v = eval(Symbol(compl.mod))\n // if !(v isa Function || v isa Type || v isa TypeVar || v isa Module || v isa Colon)\n // push!(res, compl.mod)\n // end\n // catch e\n // end\n // end\n // sort!(unique!(res))\n // foreach(x -> println(\"\\'\", x, \"\\',\"), res)\n const LITERAL_LIST = [\n 'ARGS',\n 'C_NULL',\n 'DEPOT_PATH',\n 'ENDIAN_BOM',\n 'ENV',\n 'Inf',\n 'Inf16',\n 'Inf32',\n 'Inf64',\n 'InsertionSort',\n 'LOAD_PATH',\n 'MergeSort',\n 'NaN',\n 'NaN16',\n 'NaN32',\n 'NaN64',\n 'PROGRAM_FILE',\n 'QuickSort',\n 'RoundDown',\n 'RoundFromZero',\n 'RoundNearest',\n 'RoundNearestTiesAway',\n 'RoundNearestTiesUp',\n 'RoundToZero',\n 'RoundUp',\n 'VERSION|0',\n 'devnull',\n 'false',\n 'im',\n 'missing',\n 'nothing',\n 'pi',\n 'stderr',\n 'stdin',\n 'stdout',\n 'true',\n 'undef',\n 'π',\n 'ℯ',\n ];\n\n // # built_in generator (Julia 1.5.2)\n // import REPL.REPLCompletions\n // res = String[]\n // for compl in filter!(x -> isa(x, REPLCompletions.ModuleCompletion) && (x.parent === Base || x.parent === Core),\n // REPLCompletions.completions(\"\", 0)[1])\n // try\n // v = eval(Symbol(compl.mod))\n // if (v isa Type || v isa TypeVar) && (compl.mod != \"=>\")\n // push!(res, compl.mod)\n // end\n // catch e\n // end\n // end\n // sort!(unique!(res))\n // foreach(x -> println(\"\\'\", x, \"\\',\"), res)\n const BUILT_IN_LIST = [\n 'AbstractArray',\n 'AbstractChannel',\n 'AbstractChar',\n 'AbstractDict',\n 'AbstractDisplay',\n 'AbstractFloat',\n 'AbstractIrrational',\n 'AbstractMatrix',\n 'AbstractRange',\n 'AbstractSet',\n 'AbstractString',\n 'AbstractUnitRange',\n 'AbstractVecOrMat',\n 'AbstractVector',\n 'Any',\n 'ArgumentError',\n 'Array',\n 'AssertionError',\n 'BigFloat',\n 'BigInt',\n 'BitArray',\n 'BitMatrix',\n 'BitSet',\n 'BitVector',\n 'Bool',\n 'BoundsError',\n 'CapturedException',\n 'CartesianIndex',\n 'CartesianIndices',\n 'Cchar',\n 'Cdouble',\n 'Cfloat',\n 'Channel',\n 'Char',\n 'Cint',\n 'Cintmax_t',\n 'Clong',\n 'Clonglong',\n 'Cmd',\n 'Colon',\n 'Complex',\n 'ComplexF16',\n 'ComplexF32',\n 'ComplexF64',\n 'CompositeException',\n 'Condition',\n 'Cptrdiff_t',\n 'Cshort',\n 'Csize_t',\n 'Cssize_t',\n 'Cstring',\n 'Cuchar',\n 'Cuint',\n 'Cuintmax_t',\n 'Culong',\n 'Culonglong',\n 'Cushort',\n 'Cvoid',\n 'Cwchar_t',\n 'Cwstring',\n 'DataType',\n 'DenseArray',\n 'DenseMatrix',\n 'DenseVecOrMat',\n 'DenseVector',\n 'Dict',\n 'DimensionMismatch',\n 'Dims',\n 'DivideError',\n 'DomainError',\n 'EOFError',\n 'Enum',\n 'ErrorException',\n 'Exception',\n 'ExponentialBackOff',\n 'Expr',\n 'Float16',\n 'Float32',\n 'Float64',\n 'Function',\n 'GlobalRef',\n 'HTML',\n 'IO',\n 'IOBuffer',\n 'IOContext',\n 'IOStream',\n 'IdDict',\n 'IndexCartesian',\n 'IndexLinear',\n 'IndexStyle',\n 'InexactError',\n 'InitError',\n 'Int',\n 'Int128',\n 'Int16',\n 'Int32',\n 'Int64',\n 'Int8',\n 'Integer',\n 'InterruptException',\n 'InvalidStateException',\n 'Irrational',\n 'KeyError',\n 'LinRange',\n 'LineNumberNode',\n 'LinearIndices',\n 'LoadError',\n 'MIME',\n 'Matrix',\n 'Method',\n 'MethodError',\n 'Missing',\n 'MissingException',\n 'Module',\n 'NTuple',\n 'NamedTuple',\n 'Nothing',\n 'Number',\n 'OrdinalRange',\n 'OutOfMemoryError',\n 'OverflowError',\n 'Pair',\n 'PartialQuickSort',\n 'PermutedDimsArray',\n 'Pipe',\n 'ProcessFailedException',\n 'Ptr',\n 'QuoteNode',\n 'Rational',\n 'RawFD',\n 'ReadOnlyMemoryError',\n 'Real',\n 'ReentrantLock',\n 'Ref',\n 'Regex',\n 'RegexMatch',\n 'RoundingMode',\n 'SegmentationFault',\n 'Set',\n 'Signed',\n 'Some',\n 'StackOverflowError',\n 'StepRange',\n 'StepRangeLen',\n 'StridedArray',\n 'StridedMatrix',\n 'StridedVecOrMat',\n 'StridedVector',\n 'String',\n 'StringIndexError',\n 'SubArray',\n 'SubString',\n 'SubstitutionString',\n 'Symbol',\n 'SystemError',\n 'Task',\n 'TaskFailedException',\n 'Text',\n 'TextDisplay',\n 'Timer',\n 'Tuple',\n 'Type',\n 'TypeError',\n 'TypeVar',\n 'UInt',\n 'UInt128',\n 'UInt16',\n 'UInt32',\n 'UInt64',\n 'UInt8',\n 'UndefInitializer',\n 'UndefKeywordError',\n 'UndefRefError',\n 'UndefVarError',\n 'Union',\n 'UnionAll',\n 'UnitRange',\n 'Unsigned',\n 'Val',\n 'Vararg',\n 'VecElement',\n 'VecOrMat',\n 'Vector',\n 'VersionNumber',\n 'WeakKeyDict',\n 'WeakRef',\n ];\n\n const KEYWORDS = {\n $pattern: VARIABLE_NAME_RE,\n keyword: KEYWORD_LIST,\n literal: LITERAL_LIST,\n built_in: BUILT_IN_LIST,\n };\n\n // placeholder for recursive self-reference\n const DEFAULT = {\n keywords: KEYWORDS,\n illegal: /<\\//\n };\n\n // ref: https://docs.julialang.org/en/v1/manual/integers-and-floating-point-numbers/\n const NUMBER = {\n className: 'number',\n // supported numeric literals:\n // * binary literal (e.g. 0x10)\n // * octal literal (e.g. 0o76543210)\n // * hexadecimal literal (e.g. 0xfedcba876543210)\n // * hexadecimal floating point literal (e.g. 0x1p0, 0x1.2p2)\n // * decimal literal (e.g. 9876543210, 100_000_000)\n // * floating pointe literal (e.g. 1.2, 1.2f, .2, 1., 1.2e10, 1.2e-10)\n begin: /(\\b0x[\\d_]*(\\.[\\d_]*)?|0x\\.\\d[\\d_]*)p[-+]?\\d+|\\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\\b\\d[\\d_]*(\\.[\\d_]*)?|\\.\\d[\\d_]*)([eEfF][-+]?\\d+)?/,\n relevance: 0\n };\n\n const CHAR = {\n className: 'string',\n begin: /'(.|\\\\[xXuU][a-zA-Z0-9]+)'/\n };\n\n const INTERPOLATION = {\n className: 'subst',\n begin: /\\$\\(/,\n end: /\\)/,\n keywords: KEYWORDS\n };\n\n const INTERPOLATED_VARIABLE = {\n className: 'variable',\n begin: '\\\\$' + VARIABLE_NAME_RE\n };\n\n // TODO: neatly escape normal code in string literal\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n INTERPOLATION,\n INTERPOLATED_VARIABLE\n ],\n variants: [\n {\n begin: /\\w*\"\"\"/,\n end: /\"\"\"\\w*/,\n relevance: 10\n },\n {\n begin: /\\w*\"/,\n end: /\"\\w*/\n }\n ]\n };\n\n const COMMAND = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n INTERPOLATION,\n INTERPOLATED_VARIABLE\n ],\n begin: '`',\n end: '`'\n };\n\n const MACROCALL = {\n className: 'meta',\n begin: '@' + VARIABLE_NAME_RE\n };\n\n const COMMENT = {\n className: 'comment',\n variants: [\n {\n begin: '#=',\n end: '=#',\n relevance: 10\n },\n {\n begin: '#',\n end: '$'\n }\n ]\n };\n\n DEFAULT.name = 'Julia';\n DEFAULT.contains = [\n NUMBER,\n CHAR,\n STRING,\n COMMAND,\n MACROCALL,\n COMMENT,\n hljs.HASH_COMMENT_MODE,\n {\n className: 'keyword',\n begin:\n '\\\\b(((abstract|primitive)\\\\s+)type|(mutable\\\\s+)?struct)\\\\b'\n },\n { begin: /<:/ } // relevance booster\n ];\n INTERPOLATION.contains = DEFAULT.contains;\n\n return DEFAULT;\n}\n\nexport { julia as default };\n","/*\nLanguage: Markdown\nRequires: xml.js\nAuthor: John Crepezzi \nWebsite: https://daringfireball.net/projects/markdown/\nCategory: common, markup\n*/\n\nfunction markdown(hljs) {\n const regex = hljs.regex;\n const INLINE_HTML = {\n begin: /<\\/?[A-Za-z_]/,\n end: '>',\n subLanguage: 'xml',\n relevance: 0\n };\n // https://spec.commonmark.org/0.31.2/#thematic-breaks\n // three or more `-`, `*` or `_`, all the same character, optionally\n // separated and followed by spaces or tabs, and nothing else on the line\n const HORIZONTAL_RULE = { match: /^ {0,3}([-*_])[ \\t]*(?:\\1[ \\t]*){2,}$/ };\n const CODE = {\n className: 'code',\n variants: [\n // TODO: fix to allow these to work with sublanguage also\n { begin: '(`{3,})[^`](.|\\\\n)*?\\\\1`*[ ]*' },\n { begin: '(~{3,})[^~](.|\\\\n)*?\\\\1~*[ ]*' },\n // needed to allow markdown as a sublanguage to work\n {\n begin: '```',\n end: '```+[ ]*$'\n },\n {\n begin: '~~~',\n end: '~~~+[ ]*$'\n },\n { begin: '`.+?`' },\n {\n begin: '(?=^( {4}|\\\\t))',\n // use contains to gobble up multiple lines to allow the block to be whatever size\n // but only have a single open/close tag vs one per line\n contains: [\n {\n begin: '^( {4}|\\\\t)',\n end: '(\\\\n)$'\n }\n ],\n relevance: 0\n }\n ]\n };\n const LIST = {\n className: 'bullet',\n begin: '^[ \\t]*([*+-]|(\\\\d+\\\\.))(?=\\\\s+)',\n end: '\\\\s+',\n excludeEnd: true\n };\n const LINK_REFERENCE = {\n begin: /^\\[[^\\n]+\\]:/,\n returnBegin: true,\n contains: [\n {\n className: 'symbol',\n begin: /\\[/,\n end: /\\]/,\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'link',\n begin: /:\\s*/,\n end: /$/,\n excludeBegin: true\n }\n ]\n };\n const URL_SCHEME = /[A-Za-z][A-Za-z0-9+.-]*/;\n const LINK = {\n variants: [\n // too much like nested array access in so many languages\n // to have any real relevance\n {\n begin: /\\[.+?\\]\\[.*?\\]/,\n relevance: 0\n },\n // popular internet URLs\n {\n begin: /\\[.+?\\]\\(((data|javascript|mailto):|(?:http|ftp)s?:\\/\\/).*?\\)/,\n relevance: 2\n },\n {\n begin: regex.concat(/\\[.+?\\]\\(/, URL_SCHEME, /:\\/\\/.*?\\)/),\n relevance: 2\n },\n // relative urls\n {\n begin: /\\[.+?\\]\\([./?&#].*?\\)/,\n relevance: 1\n },\n // whatever else, lower relevance (might not be a link at all)\n {\n begin: /\\[.*?\\]\\(.*?\\)/,\n relevance: 0\n }\n ],\n returnBegin: true,\n contains: [\n {\n // empty strings for alt or link text\n match: /\\[(?=\\])/ },\n {\n className: 'string',\n relevance: 0,\n begin: '\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n returnEnd: true\n },\n {\n className: 'link',\n relevance: 0,\n begin: '\\\\]\\\\(',\n end: '\\\\)',\n excludeBegin: true,\n excludeEnd: true\n },\n {\n className: 'symbol',\n relevance: 0,\n begin: '\\\\]\\\\[',\n end: '\\\\]',\n excludeBegin: true,\n excludeEnd: true\n }\n ]\n };\n const BOLD = {\n className: 'strong',\n contains: [], // defined later\n variants: [\n {\n begin: /_{2}(?!\\s)/,\n end: /_{2}/\n },\n {\n begin: /\\*{2}(?!\\s)/,\n end: /\\*{2}/\n }\n ]\n };\n const ITALIC = {\n className: 'emphasis',\n contains: [], // defined later\n variants: [\n {\n begin: /\\*(?![*\\s])/,\n end: /\\*/\n },\n {\n begin: /_(?![_\\s])/,\n end: /_/,\n relevance: 0\n }\n ]\n };\n\n // 3 level deep nesting is not allowed because it would create confusion\n // in cases like `***testing***` because where we don't know if the last\n // `***` is starting a new bold/italic or finishing the last one\n const BOLD_WITHOUT_ITALIC = hljs.inherit(BOLD, { contains: [] });\n const ITALIC_WITHOUT_BOLD = hljs.inherit(ITALIC, { contains: [] });\n BOLD.contains.push(ITALIC_WITHOUT_BOLD);\n ITALIC.contains.push(BOLD_WITHOUT_ITALIC);\n\n let CONTAINABLE = [\n INLINE_HTML,\n LINK\n ];\n\n [\n BOLD,\n ITALIC,\n BOLD_WITHOUT_ITALIC,\n ITALIC_WITHOUT_BOLD\n ].forEach(m => {\n m.contains = m.contains.concat(CONTAINABLE);\n });\n\n CONTAINABLE = CONTAINABLE.concat(BOLD, ITALIC);\n\n const HEADER = {\n className: 'section',\n variants: [\n {\n begin: '^#{1,6}',\n end: '$',\n contains: CONTAINABLE\n },\n {\n begin: '(?=^.+?\\\\n[=-]{2,}$)',\n contains: [\n { begin: '^[=-]*$' },\n {\n begin: '^',\n end: \"\\\\n\",\n contains: CONTAINABLE\n }\n ]\n }\n ]\n };\n\n const BLOCKQUOTE = {\n className: 'quote',\n begin: '^>\\\\s+',\n contains: CONTAINABLE,\n end: '$'\n };\n\n const ENTITY = {\n //https://spec.commonmark.org/0.31.2/#entity-references\n scope: 'literal',\n match: /&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/\n };\n\n return {\n name: 'Markdown',\n aliases: [\n 'md',\n 'mkdown',\n 'mkd'\n ],\n contains: [\n HEADER,\n INLINE_HTML,\n LIST,\n // must come before BOLD/ITALIC so that a `***` or `___` thematic break\n // isn't mistaken for the start of bold text\n HORIZONTAL_RULE,\n BOLD,\n ITALIC,\n BLOCKQUOTE,\n CODE,\n LINK,\n LINK_REFERENCE,\n ENTITY\n ]\n };\n}\n\nexport { markdown as default };\n","/*\nLanguage: Matlab\nAuthor: Denis Bardadym \nContributors: Eugene Nizhibitsky , Egor Rogov \nWebsite: https://www.mathworks.com/products/matlab.html\nCategory: scientific\n*/\n\n/*\n Formal syntax is not published, helpful link:\n https://github.com/kornilova-l/matlab-IntelliJ-plugin/blob/master/src/main/grammar/Matlab.bnf\n*/\nfunction matlab(hljs) {\n const TRANSPOSE_RE = '(\\'|\\\\.\\')+';\n const TRANSPOSE = {\n relevance: 0,\n contains: [ { begin: TRANSPOSE_RE } ]\n };\n\n return {\n name: 'Matlab',\n keywords: {\n keyword:\n 'arguments break case catch classdef continue else elseif end enumeration events for function '\n + 'global if methods otherwise parfor persistent properties return spmd switch try while',\n built_in:\n 'sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan '\n + 'atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot '\n + 'cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog '\n + 'realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal '\n + 'cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli '\n + 'besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma '\n + 'gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms '\n + 'nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones '\n + 'eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length '\n + 'ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril '\n + 'triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute '\n + 'shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i|0 inf nan '\n + 'isnan isinf isfinite j|0 why compan gallery hadamard hankel hilb invhilb magic pascal '\n + 'rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table '\n + 'readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun '\n + 'legend intersect ismember procrustes hold num2cell '\n },\n illegal: '(//|\"|#|/\\\\*|\\\\s+/\\\\w+)',\n contains: [\n {\n className: 'function',\n beginKeywords: 'function',\n end: '$',\n contains: [\n hljs.UNDERSCORE_TITLE_MODE,\n {\n className: 'params',\n variants: [\n {\n begin: '\\\\(',\n end: '\\\\)'\n },\n {\n begin: '\\\\[',\n end: '\\\\]'\n }\n ]\n }\n ]\n },\n {\n className: 'built_in',\n begin: /true|false/,\n relevance: 0,\n starts: TRANSPOSE\n },\n {\n begin: '[a-zA-Z][a-zA-Z_0-9]*' + TRANSPOSE_RE,\n relevance: 0\n },\n {\n className: 'number',\n begin: hljs.C_NUMBER_RE,\n relevance: 0,\n starts: TRANSPOSE\n },\n {\n className: 'string',\n begin: '\\'',\n end: '\\'',\n contains: [ { begin: '\\'\\'' } ]\n },\n {\n begin: /\\]|\\}|\\)/,\n relevance: 0,\n starts: TRANSPOSE\n },\n {\n className: 'string',\n begin: '\"',\n end: '\"',\n contains: [ { begin: '\"\"' } ],\n starts: TRANSPOSE\n },\n hljs.COMMENT('^\\\\s*%\\\\{\\\\s*$', '^\\\\s*%\\\\}\\\\s*$'),\n hljs.COMMENT('%', '$')\n ]\n };\n}\n\nexport { matlab as default };\n","/*\nLanguage: Plain text\nAuthor: Egor Rogov (e.rogov@postgrespro.ru)\nDescription: Plain text without any highlighting.\nCategory: common\n*/\n\nfunction plaintext(hljs) {\n return {\n name: 'Plain text',\n aliases: [\n 'text',\n 'txt'\n ],\n disableAutodetect: true\n };\n}\n\nexport { plaintext as default };\n","/*\nLanguage: Python\nDescription: Python is an interpreted, object-oriented, high-level programming language with dynamic semantics.\nWebsite: https://www.python.org\nCategory: common\n*/\n\nfunction python(hljs) {\n const regex = hljs.regex;\n const IDENT_RE = /[\\p{XID_Start}_]\\p{XID_Continue}*/u;\n const RESERVED_WORDS = [\n 'and',\n 'as',\n 'assert',\n 'async',\n 'await',\n 'break',\n 'case',\n 'class',\n 'continue',\n 'def',\n 'del',\n 'elif',\n 'else',\n 'except',\n 'finally',\n 'for',\n 'from',\n 'global',\n 'if',\n 'import',\n 'in',\n 'is',\n 'lambda',\n 'lazy',\n 'match',\n 'nonlocal|10',\n 'not',\n 'or',\n 'pass',\n 'raise',\n 'return',\n 'try',\n 'while',\n 'with',\n 'yield'\n ];\n\n const BUILT_INS = [\n '__import__',\n 'abs',\n 'aiter',\n 'all',\n 'anext',\n 'any',\n 'ascii',\n 'bin',\n 'bool',\n 'breakpoint',\n 'bytearray',\n 'bytes',\n 'callable',\n 'chr',\n 'classmethod',\n 'compile',\n 'complex',\n 'delattr',\n 'dict',\n 'dir',\n 'divmod',\n 'enumerate',\n 'eval',\n 'exec',\n 'filter',\n 'float',\n 'format',\n 'frozendict',\n 'frozenset',\n 'getattr',\n 'globals',\n 'hasattr',\n 'hash',\n 'help',\n 'hex',\n 'id',\n 'input',\n 'int',\n 'isinstance',\n 'issubclass',\n 'iter',\n 'len',\n 'list',\n 'locals',\n 'map',\n 'max',\n 'memoryview',\n 'min',\n 'next',\n 'object',\n 'oct',\n 'open',\n 'ord',\n 'pow',\n 'print',\n 'property',\n 'range',\n 'repr',\n 'reversed',\n 'round',\n 'sentinel',\n 'set',\n 'setattr',\n 'slice',\n 'sorted',\n 'staticmethod',\n 'str',\n 'sum',\n 'super',\n 'tuple',\n 'type',\n 'vars',\n 'zip'\n ];\n\n const LITERALS = [\n '__debug__',\n 'Ellipsis',\n 'False',\n 'None',\n 'NotImplemented',\n 'True'\n ];\n\n // https://docs.python.org/3/library/typing.html\n // TODO: Could these be supplemented by a CamelCase matcher in certain\n // contexts, leaving these remaining only for relevance hinting?\n const TYPES = [\n \"Any\",\n \"Callable\",\n \"Coroutine\",\n \"Dict\",\n \"List\",\n \"Literal\",\n \"Generic\",\n \"Optional\",\n \"Sequence\",\n \"Set\",\n \"Tuple\",\n \"Type\",\n \"Union\"\n ];\n\n const KEYWORDS = {\n $pattern: /[A-Za-z]\\w+|__\\w+__/,\n keyword: RESERVED_WORDS,\n built_in: BUILT_INS,\n literal: LITERALS,\n type: TYPES\n };\n\n const PROMPT = {\n className: 'meta',\n begin: /^(>>>|\\.\\.\\.) /\n };\n\n const SUBST = {\n className: 'subst',\n begin: /\\{/,\n end: /\\}/,\n keywords: KEYWORDS,\n illegal: /#/\n };\n\n const LITERAL_BRACKET = {\n begin: /\\{\\{/,\n relevance: 0\n };\n\n const STRING = {\n className: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT\n ],\n relevance: 10\n },\n {\n begin: /([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,\n end: /'''/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fFtT][rR]|[rR][fFtT]|[fFtT])\"\"\"/,\n end: /\"\"\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n PROMPT,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([uU]|[rR])'/,\n end: /'/,\n relevance: 10\n },\n {\n begin: /([uU]|[rR])\"/,\n end: /\"/,\n relevance: 10\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])'/,\n end: /'/\n },\n {\n begin: /([bB]|[bB][rR]|[rR][bB])\"/,\n end: /\"/\n },\n {\n begin: /([fFtT][rR]|[rR][fFtT]|[fFtT])'/,\n end: /'/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n {\n begin: /([fFtT][rR]|[rR][fFtT]|[fFtT])\"/,\n end: /\"/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n LITERAL_BRACKET,\n SUBST\n ]\n },\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE\n ]\n };\n\n // https://docs.python.org/3.9/reference/lexical_analysis.html#numeric-literals\n const digitpart = '[0-9](_?[0-9])*';\n const pointfloat = `(\\\\b(${digitpart}))?\\\\.(${digitpart})|\\\\b(${digitpart})\\\\.`;\n // Whitespace after a number (or any lexical token) is needed only if its absence\n // would change the tokenization\n // https://docs.python.org/3.9/reference/lexical_analysis.html#whitespace-between-tokens\n // We deviate slightly, requiring a word boundary or a keyword\n // to avoid accidentally recognizing *prefixes* (e.g., `0` in `0x41` or `08` or `0__1`)\n const lookahead = `\\\\b|${RESERVED_WORDS.join('|')}`;\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // exponentfloat, pointfloat\n // https://docs.python.org/3.9/reference/lexical_analysis.html#floating-point-literals\n // optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n // Note: no leading \\b because floats can start with a decimal point\n // and we don't want to mishandle e.g. `fn(.5)`,\n // no trailing \\b for pointfloat because it can end with a decimal point\n // and we don't want to mishandle e.g. `0..hex()`; this should be safe\n // because both MUST contain a decimal point and so cannot be confused with\n // the interior part of an identifier\n {\n begin: `(\\\\b(${digitpart})|(${pointfloat}))[eE][+-]?(${digitpart})[jJ]?(?=${lookahead})`\n },\n {\n begin: `(${pointfloat})[jJ]?`\n },\n\n // decinteger, bininteger, octinteger, hexinteger\n // https://docs.python.org/3.9/reference/lexical_analysis.html#integer-literals\n // optionally \"long\" in Python 2\n // https://docs.python.org/2.7/reference/lexical_analysis.html#integer-and-long-integer-literals\n // decinteger is optionally imaginary\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[bB](_?[01])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[oO](_?[0-7])+[lL]?(?=${lookahead})`\n },\n {\n begin: `\\\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${lookahead})`\n },\n\n // imagnumber (digitpart-based)\n // https://docs.python.org/3.9/reference/lexical_analysis.html#imaginary-literals\n {\n begin: `\\\\b(${digitpart})[jJ](?=${lookahead})`\n }\n ]\n };\n const COMMENT_TYPE = {\n className: \"comment\",\n begin: regex.lookahead(/# type:/),\n end: /$/,\n keywords: KEYWORDS,\n contains: [\n { // prevent keywords from coloring `type`\n begin: /# type:/\n },\n // comment within a datatype comment includes no keywords\n {\n begin: /#/,\n end: /\\b\\B/,\n endsWithParent: true\n }\n ]\n };\n const PARAMS = {\n className: 'params',\n variants: [\n // Exclude params in functions without params\n {\n className: \"\",\n begin: /\\(\\s*\\)/,\n skip: true\n },\n {\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true,\n keywords: KEYWORDS,\n contains: [\n 'self',\n PROMPT,\n NUMBER,\n STRING,\n hljs.HASH_COMMENT_MODE\n ]\n }\n ]\n };\n SUBST.contains = [\n STRING,\n NUMBER,\n PROMPT\n ];\n\n return {\n name: 'Python',\n aliases: [\n 'py',\n 'gyp',\n 'ipython'\n ],\n unicodeRegex: true,\n keywords: KEYWORDS,\n illegal: /(<\\/|\\?)|=>/,\n contains: [\n PROMPT,\n NUMBER,\n {\n // very common convention\n scope: 'variable.language',\n match: /\\bself\\b/\n },\n {\n // eat \"if\" prior to string so that it won't accidentally be\n // labeled as an f-string\n beginKeywords: \"if\",\n relevance: 0\n },\n { match: /\\bor\\b/, scope: \"keyword\" },\n STRING,\n COMMENT_TYPE,\n hljs.HASH_COMMENT_MODE,\n {\n match: [\n /\\bdef/, /\\s+/,\n IDENT_RE,\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [ PARAMS ]\n },\n {\n variants: [\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE, /\\s*/,\n /\\(\\s*/, IDENT_RE,/\\s*\\)/\n ],\n },\n {\n match: [\n /\\bclass/, /\\s+/,\n IDENT_RE\n ],\n }\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.class\",\n 6: \"title.class.inherited\",\n }\n },\n {\n className: 'meta',\n begin: /^[\\t ]*@/,\n end: /(?=#)|$/,\n contains: [\n NUMBER,\n PARAMS,\n STRING\n ]\n }\n ]\n };\n}\n\nexport { python as default };\n","/*\nLanguage: R\nDescription: R is a free software environment for statistical computing and graphics.\nAuthor: Joe Cheng \nContributors: Konrad Rudolph \nWebsite: https://www.r-project.org\nCategory: common,scientific\n*/\n\n/** @type LanguageFn */\nfunction r(hljs) {\n const regex = hljs.regex;\n // Identifiers in R cannot start with `_`, but they can start with `.` if it\n // is not immediately followed by a digit.\n // R also supports quoted identifiers, which are near-arbitrary sequences\n // delimited by backticks (`…`), which may contain escape sequences. These are\n // handled in a separate mode. See `test/markup/r/names.txt` for examples.\n // FIXME: Support Unicode identifiers.\n const IDENT_RE = /(?:(?:[a-zA-Z]|\\.[._a-zA-Z])[._a-zA-Z0-9]*)|\\.(?!\\d)/;\n const NUMBER_TYPES_RE = regex.either(\n // Special case: only hexadecimal binary powers can contain fractions\n /0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*[pP][+-]?\\d+i?/,\n // Hexadecimal numbers without fraction and optional binary power\n /0[xX][0-9a-fA-F]+(?:[pP][+-]?\\d+)?[Li]?/,\n // Decimal numbers\n /(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?[Li]?/\n );\n const OPERATORS_RE = /[=!<>:]=|\\|\\||&&|:::?|<-|<<-|->>|->|\\|>|[-+*\\/?!$&|:<=>@^~]|\\*\\*/;\n const PUNCTUATION_RE = regex.either(\n /[()]/,\n /[{}]/,\n /\\[\\[/,\n /[[\\]]/,\n /\\\\/,\n /,/\n );\n\n return {\n name: 'R',\n\n keywords: {\n $pattern: IDENT_RE,\n keyword:\n 'function if in break next repeat else for while',\n literal:\n 'NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 '\n + 'NA_character_|10 NA_complex_|10',\n built_in:\n // Builtin constants\n 'LETTERS letters month.abb month.name pi T F '\n // Primitive functions\n // These are all the functions in `base` that are implemented as a\n // `.Primitive`, minus those functions that are also keywords.\n + 'abs acos acosh all any anyNA Arg as.call as.character '\n + 'as.complex as.double as.environment as.integer as.logical '\n + 'as.null.default as.numeric as.raw asin asinh atan atanh attr '\n + 'attributes baseenv browser c call ceiling class Conj cos cosh '\n + 'cospi cummax cummin cumprod cumsum digamma dim dimnames '\n + 'emptyenv exp expression floor forceAndCall gamma gc.time '\n + 'globalenv Im interactive invisible is.array is.atomic is.call '\n + 'is.character is.complex is.double is.environment is.expression '\n + 'is.finite is.function is.infinite is.integer is.language '\n + 'is.list is.logical is.matrix is.na is.name is.nan is.null '\n + 'is.numeric is.object is.pairlist is.raw is.recursive is.single '\n + 'is.symbol lazyLoadDBfetch length lgamma list log max min '\n + 'missing Mod names nargs nzchar oldClass on.exit pos.to.env '\n + 'proc.time prod quote range Re rep retracemem return round '\n + 'seq_along seq_len seq.int sign signif sin sinh sinpi sqrt '\n + 'standardGeneric substitute sum switch tan tanh tanpi tracemem '\n + 'trigamma trunc unclass untracemem UseMethod xtfrm',\n },\n\n contains: [\n // Roxygen comments\n hljs.COMMENT(\n /#'/,\n /$/,\n { contains: [\n {\n // Handle `@examples` separately to cause all subsequent code\n // until the next `@`-tag on its own line to be kept as-is,\n // preventing highlighting. This code is example R code, so nested\n // doctags shouldn’t be treated as such. See\n // `test/markup/r/roxygen.txt` for an example.\n scope: 'doctag',\n match: /@examples/,\n starts: {\n end: regex.lookahead(regex.either(\n // end if another doc comment\n /\\n^#'\\s*(?=@[a-zA-Z]+)/,\n // or a line with no comment\n /\\n^(?!#')/\n )),\n endsParent: true\n }\n },\n {\n // Handle `@param` to highlight the parameter name following\n // after.\n scope: 'doctag',\n begin: '@param',\n end: /$/,\n contains: [\n {\n scope: 'variable',\n variants: [\n { match: IDENT_RE },\n { match: /`(?:\\\\.|[^`\\\\])+`/ }\n ],\n endsParent: true\n }\n ]\n },\n {\n scope: 'doctag',\n match: /@[a-zA-Z]+/\n },\n {\n scope: 'keyword',\n match: /\\\\[a-zA-Z]+/\n }\n ] }\n ),\n\n hljs.HASH_COMMENT_MODE,\n\n {\n scope: 'string',\n contains: [ hljs.BACKSLASH_ESCAPE ],\n variants: [\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\(/,\n end: /\\)(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\{/,\n end: /\\}(-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]\"(-*)\\[/,\n end: /\\](-*)\"/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\(/,\n end: /\\)(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\{/,\n end: /\\}(-*)'/\n }),\n hljs.END_SAME_AS_BEGIN({\n begin: /[rR]'(-*)\\[/,\n end: /\\](-*)'/\n }),\n {\n begin: '\"',\n end: '\"',\n relevance: 0\n },\n {\n begin: \"'\",\n end: \"'\",\n relevance: 0\n }\n ],\n },\n\n // Matching numbers immediately following punctuation and operators is\n // tricky since we need to look at the character ahead of a number to\n // ensure the number is not part of an identifier, and we cannot use\n // negative look-behind assertions. So instead we explicitly handle all\n // possible combinations of (operator|punctuation), number.\n // TODO: replace with negative look-behind when available\n // { begin: /(?\nContributors: Peter Leonov , Vasily Polovnyov , Loren Segal , Pascal Hurni , Cedric Sohrauer \nCategory: common, scripting\n*/\n\nfunction ruby(hljs) {\n const regex = hljs.regex;\n const RUBY_METHOD_RE = '([a-zA-Z_]\\\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\\\*\\\\*|[-/+%^&*~`|]|\\\\[\\\\]=?)';\n // TODO: move concepts like CAMEL_CASE into `modes.js`\n const CLASS_NAME_RE = regex.either(\n /\\b([A-Z]+[a-z0-9]+)+/,\n // ends in caps\n /\\b([A-Z]+[a-z0-9]+)+[A-Z]+/,\n )\n ;\n const CLASS_NAME_WITH_NAMESPACE_RE = regex.concat(CLASS_NAME_RE, /(::\\w+)*/);\n // very popular ruby built-ins that one might even assume\n // are actual keywords (despite that not being the case)\n const PSEUDO_KWS = [\n \"include\",\n \"extend\",\n \"prepend\",\n \"public\",\n \"private\",\n \"protected\",\n \"raise\",\n \"throw\"\n ];\n const RUBY_KEYWORDS = {\n \"variable.constant\": [\n \"__FILE__\",\n \"__LINE__\",\n \"__ENCODING__\"\n ],\n \"variable.language\": [\n \"self\",\n \"super\",\n ],\n keyword: [\n \"alias\",\n \"and\",\n \"begin\",\n \"BEGIN\",\n \"break\",\n \"case\",\n \"class\",\n \"defined\",\n \"do\",\n \"else\",\n \"elsif\",\n \"end\",\n \"END\",\n \"ensure\",\n \"for\",\n \"if\",\n \"in\",\n \"module\",\n \"next\",\n \"not\",\n \"or\",\n \"redo\",\n \"require\",\n \"rescue\",\n \"retry\",\n \"return\",\n \"then\",\n \"undef\",\n \"unless\",\n \"until\",\n \"when\",\n \"while\",\n \"yield\",\n ...PSEUDO_KWS\n ],\n built_in: [\n \"proc\",\n \"lambda\",\n \"attr_accessor\",\n \"attr_reader\",\n \"attr_writer\",\n \"define_method\",\n \"private_constant\",\n \"module_function\"\n ],\n literal: [\n \"true\",\n \"false\",\n \"nil\"\n ]\n };\n const YARDOCTAG = {\n className: 'doctag',\n begin: '@[A-Za-z]+'\n };\n const IRB_OBJECT = {\n begin: '#<',\n end: '>'\n };\n const COMMENT_MODES = [\n hljs.COMMENT(\n '#',\n '$',\n { contains: [ YARDOCTAG ] }\n ),\n hljs.COMMENT(\n '^=begin',\n '^=end',\n {\n contains: [ YARDOCTAG ],\n relevance: 10\n }\n ),\n hljs.COMMENT('^__END__', hljs.MATCH_NOTHING_RE)\n ];\n const SUBST = {\n className: 'subst',\n begin: /#\\{/,\n end: /\\}/,\n keywords: RUBY_KEYWORDS\n };\n const STRING = {\n className: 'string',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n variants: [\n {\n begin: /'/,\n end: /'/\n },\n {\n begin: /\"/,\n end: /\"/\n },\n {\n begin: /`/,\n end: /`/\n },\n {\n begin: /%[qQwWx]?\\(/,\n end: /\\)/\n },\n {\n begin: /%[qQwWx]?\\[/,\n end: /\\]/\n },\n {\n begin: /%[qQwWx]?\\{/,\n end: /\\}/\n },\n {\n begin: /%[qQwWx]?/\n },\n {\n begin: /%[qQwWx]?\\//,\n end: /\\//\n },\n {\n begin: /%[qQwWx]?%/,\n end: /%/\n },\n {\n begin: /%[qQwWx]?-/,\n end: /-/\n },\n {\n begin: /%[qQwWx]?\\|/,\n end: /\\|/\n },\n // in the following expressions, \\B in the beginning suppresses recognition of ?-sequences\n // where ? is the last character of a preceding identifier, as in: `func?4`\n { begin: /\\B\\?(\\\\\\d{1,3})/ },\n { begin: /\\B\\?(\\\\x[A-Fa-f0-9]{1,2})/ },\n { begin: /\\B\\?(\\\\u\\{?[A-Fa-f0-9]{1,6}\\}?)/ },\n { begin: /\\B\\?(\\\\M-\\\\C-|\\\\M-\\\\c|\\\\c\\\\M-|\\\\M-|\\\\C-\\\\M-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\(c|C-)[\\x20-\\x7e]/ },\n { begin: /\\B\\?\\\\?\\S/ },\n // heredocs\n {\n // this guard makes sure that we have an entire heredoc and not a false\n // positive (auto-detect, etc.)\n begin: regex.concat(\n /<<[-~]?'?/,\n regex.lookahead(/(\\w+)(?=\\W)[^\\n]*\\n(?:[^\\n]*\\n)*?\\s*\\1\\b/)\n ),\n contains: [\n hljs.END_SAME_AS_BEGIN({\n begin: /(\\w+)/,\n end: /(\\w+)/,\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ]\n })\n ]\n }\n ]\n };\n\n // Ruby syntax is underdocumented, but this grammar seems to be accurate\n // as of version 2.7.2 (confirmed with (irb and `Ripper.sexp(...)`)\n // https://docs.ruby-lang.org/en/2.7.0/doc/syntax/literals_rdoc.html#label-Numbers\n const decimal = '[1-9](_?[0-9])*|0';\n const digits = '[0-9](_?[0-9])*';\n const NUMBER = {\n className: 'number',\n relevance: 0,\n variants: [\n // decimal integer/float, optionally exponential or rational, optionally imaginary\n { begin: `\\\\b(${decimal})(\\\\.(${digits}))?([eE][+-]?(${digits})|r)?i?\\\\b` },\n\n // explicit decimal/binary/octal/hexadecimal integer,\n // optionally rational and/or imaginary\n { begin: \"\\\\b0[dD][0-9](_?[0-9])*r?i?\\\\b\" },\n { begin: \"\\\\b0[bB][0-1](_?[0-1])*r?i?\\\\b\" },\n { begin: \"\\\\b0[oO][0-7](_?[0-7])*r?i?\\\\b\" },\n { begin: \"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\\\b\" },\n\n // 0-prefixed implicit octal integer, optionally rational and/or imaginary\n { begin: \"\\\\b0(_?[0-7])+r?i?\\\\b\" }\n ]\n };\n\n const PARAMS = {\n variants: [\n {\n match: /\\(\\)/,\n },\n {\n className: 'params',\n begin: /\\(/,\n end: /(?=\\))/,\n excludeBegin: true,\n endsParent: true,\n keywords: RUBY_KEYWORDS,\n }\n ]\n };\n\n const INCLUDE_EXTEND = {\n match: [\n /(include|extend)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ],\n scope: {\n 2: \"title.class\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const CLASS_DEFINITION = {\n variants: [\n {\n match: [\n /class\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\s+<\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n },\n {\n match: [\n /\\b(class|module)\\s+/,\n CLASS_NAME_WITH_NAMESPACE_RE\n ]\n }\n ],\n scope: {\n 2: \"title.class\",\n 4: \"title.class.inherited\"\n },\n keywords: RUBY_KEYWORDS\n };\n\n const UPPER_CASE_CONSTANT = {\n relevance: 0,\n match: /\\b[A-Z][A-Z_0-9]+\\b/,\n className: \"variable.constant\"\n };\n\n const METHOD_DEFINITION = {\n match: [\n /def/, /\\s+/,\n RUBY_METHOD_RE\n ],\n scope: {\n 1: \"keyword\",\n 3: \"title.function\"\n },\n contains: [\n PARAMS\n ]\n };\n\n const OBJECT_CREATION = {\n relevance: 0,\n match: [\n CLASS_NAME_WITH_NAMESPACE_RE,\n /\\.new[. (]/\n ],\n scope: {\n 1: \"title.class\"\n }\n };\n\n // CamelCase\n const CLASS_REFERENCE = {\n relevance: 0,\n match: CLASS_NAME_RE,\n scope: \"title.class\"\n };\n\n const RUBY_DEFAULT_CONTAINS = [\n STRING,\n CLASS_DEFINITION,\n INCLUDE_EXTEND,\n OBJECT_CREATION,\n UPPER_CASE_CONSTANT,\n CLASS_REFERENCE,\n METHOD_DEFINITION,\n {\n // swallow the scope resolution operator so `::` is not read as a symbol\n begin: '::'\n },\n {\n className: 'symbol',\n begin: hljs.UNDERSCORE_IDENT_RE + '(!|\\\\?)?:',\n relevance: 0\n },\n {\n className: 'symbol',\n begin: ':(?!\\\\s)',\n contains: [\n STRING,\n { begin: RUBY_METHOD_RE }\n ],\n relevance: 0\n },\n NUMBER,\n {\n // negative-look forward attempts to prevent false matches like:\n // @ident@ or $ident$ that might indicate this is not ruby at all\n className: \"variable\",\n begin: '(\\\\$\\\\W)|((\\\\$|@@?)(\\\\w+))(?=[^@$?])' + `(?![A-Za-z])(?![@$?'])`\n },\n {\n className: 'params',\n begin: /\\|(?!=)/,\n end: /\\|/,\n excludeBegin: true,\n excludeEnd: true,\n relevance: 0, // this could be a lot of things (in other languages) other than params\n keywords: RUBY_KEYWORDS\n },\n { // regexp container\n begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\\\s*',\n keywords: 'unless',\n contains: [\n {\n className: 'regexp',\n contains: [\n hljs.BACKSLASH_ESCAPE,\n SUBST\n ],\n illegal: /\\n/,\n variants: [\n {\n begin: '/',\n end: '/[a-z]*'\n },\n {\n begin: /%r\\{/,\n end: /\\}[a-z]*/\n },\n {\n begin: '%r\\\\(',\n end: '\\\\)[a-z]*'\n },\n {\n begin: '%r!',\n end: '![a-z]*'\n },\n {\n begin: '%r\\\\[',\n end: '\\\\][a-z]*'\n }\n ]\n }\n ].concat(IRB_OBJECT, COMMENT_MODES),\n relevance: 0\n }\n ].concat(IRB_OBJECT, COMMENT_MODES);\n\n SUBST.contains = RUBY_DEFAULT_CONTAINS;\n PARAMS.contains = RUBY_DEFAULT_CONTAINS;\n\n // >>\n // ?>\n const SIMPLE_PROMPT = \"[>?]>\";\n // irb(main):001:0>\n const DEFAULT_PROMPT = \"[\\\\w#]+\\\\(\\\\w+\\\\):\\\\d+:\\\\d+[>*]\";\n const RVM_PROMPT = \"(\\\\w+-)?\\\\d+\\\\.\\\\d+\\\\.\\\\d+(p\\\\d+)?[^\\\\d][^>]+>\";\n\n const IRB_DEFAULT = [\n {\n begin: /^\\s*=>/,\n starts: {\n end: '$',\n contains: RUBY_DEFAULT_CONTAINS\n }\n },\n {\n className: 'meta.prompt',\n begin: '^(' + SIMPLE_PROMPT + \"|\" + DEFAULT_PROMPT + '|' + RVM_PROMPT + ')(?=[ ])',\n starts: {\n end: '$',\n keywords: RUBY_KEYWORDS,\n contains: RUBY_DEFAULT_CONTAINS\n }\n }\n ];\n\n COMMENT_MODES.unshift(IRB_OBJECT);\n\n return {\n name: 'Ruby',\n aliases: [\n 'rb',\n 'gemspec',\n 'podspec',\n 'thor',\n 'irb'\n ],\n keywords: RUBY_KEYWORDS,\n illegal: /\\/\\*/,\n contains: [ hljs.SHEBANG({ binary: \"ruby\" }) ]\n .concat(IRB_DEFAULT)\n .concat(COMMENT_MODES)\n .concat(RUBY_DEFAULT_CONTAINS)\n };\n}\n\nexport { ruby as default };\n","/*\nLanguage: Shell Session\nRequires: bash.js\nAuthor: TSUYUSATO Kitsune \nCategory: common\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction shell(hljs) {\n return {\n name: 'Shell Session',\n aliases: [\n 'console',\n 'shellsession'\n ],\n contains: [\n {\n className: 'meta.prompt',\n // We cannot add \\s (spaces) in the regular expression otherwise it will be too broad and produce unexpected result.\n // For instance, in the following example, it would match \"echo /path/to/home >\" as a prompt:\n // echo /path/to/home > t.exe\n begin: /^\\s{0,3}[./~\\w\\d[\\]()@-]*[>%$#][ ]?/,\n starts: {\n end: /[^\\\\](?=\\s*$)/,\n subLanguage: 'bash'\n }\n }\n ]\n };\n}\n\nexport { shell as default };\n","/*\n Language: SQL\n Website: https://en.wikipedia.org/wiki/SQL\n Category: common, database\n */\n\n/*\n\nGoals:\n\nSQL is intended to highlight basic/common SQL keywords and expressions\n\n- If pretty much every single SQL server includes supports, then it's a canidate.\n- It is NOT intended to include tons of vendor specific keywords (Oracle, MySQL,\n PostgreSQL) although the list of data types is purposely a bit more expansive.\n- For more specific SQL grammars please see:\n - PostgreSQL and PL/pgSQL - core\n - T-SQL - https://github.com/highlightjs/highlightjs-tsql\n - sql_more (core)\n\n */\n\nfunction sql(hljs) {\n const regex = hljs.regex;\n const COMMENT_MODE = hljs.COMMENT('--', '$');\n const STRING = {\n scope: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/,\n contains: [ { match: /''/ } ]\n }\n ]\n };\n const QUOTED_IDENTIFIER = {\n begin: /\"/,\n end: /\"/,\n contains: [ { match: /\"\"/ } ]\n };\n\n const LITERALS = [\n \"true\",\n \"false\",\n // Not sure it's correct to call NULL literal, and clauses like IS [NOT] NULL look strange that way.\n // \"null\",\n \"unknown\"\n ];\n\n const MULTI_WORD_TYPES = [\n \"double precision\",\n \"large object\",\n \"with timezone\",\n \"without timezone\"\n ];\n\n const TYPES = [\n 'bigint',\n 'binary',\n 'blob',\n 'boolean',\n 'char',\n 'character',\n 'clob',\n 'date',\n 'dec',\n 'decfloat',\n 'decimal',\n 'float',\n 'int',\n 'integer',\n 'interval',\n 'nchar',\n 'nclob',\n 'national',\n 'numeric',\n 'real',\n 'row',\n 'smallint',\n 'time',\n 'timestamp',\n 'varchar',\n 'varying', // modifier (character varying)\n 'varbinary'\n ];\n\n const NON_RESERVED_WORDS = [\n \"add\",\n \"asc\",\n \"collation\",\n \"desc\",\n \"final\",\n \"first\",\n \"last\",\n \"view\"\n ];\n\n // https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#reserved-word\n const RESERVED_WORDS = [\n \"abs\",\n \"acos\",\n \"all\",\n \"allocate\",\n \"alter\",\n \"and\",\n \"any\",\n \"are\",\n \"array\",\n \"array_agg\",\n \"array_max_cardinality\",\n \"as\",\n \"asensitive\",\n \"asin\",\n \"asymmetric\",\n \"at\",\n \"atan\",\n \"atomic\",\n \"authorization\",\n \"avg\",\n \"begin\",\n \"begin_frame\",\n \"begin_partition\",\n \"between\",\n \"bigint\",\n \"binary\",\n \"blob\",\n \"boolean\",\n \"both\",\n \"by\",\n \"call\",\n \"called\",\n \"cardinality\",\n \"cascaded\",\n \"case\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"char\",\n \"char_length\",\n \"character\",\n \"character_length\",\n \"check\",\n \"classifier\",\n \"clob\",\n \"close\",\n \"coalesce\",\n \"collate\",\n \"collect\",\n \"column\",\n \"commit\",\n \"condition\",\n \"connect\",\n \"constraint\",\n \"contains\",\n \"convert\",\n \"copy\",\n \"corr\",\n \"corresponding\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"create\",\n \"cross\",\n \"cube\",\n \"cume_dist\",\n \"current\",\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_row\",\n \"current_schema\",\n \"current_time\",\n \"current_timestamp\",\n \"current_path\",\n \"current_role\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"cursor\",\n \"cycle\",\n \"date\",\n \"day\",\n \"deallocate\",\n \"dec\",\n \"decimal\",\n \"decfloat\",\n \"declare\",\n \"default\",\n \"define\",\n \"delete\",\n \"dense_rank\",\n \"deref\",\n \"describe\",\n \"deterministic\",\n \"disconnect\",\n \"distinct\",\n \"double\",\n \"drop\",\n \"dynamic\",\n \"each\",\n \"element\",\n \"else\",\n \"empty\",\n \"end\",\n \"end_frame\",\n \"end_partition\",\n \"end-exec\",\n \"equals\",\n \"escape\",\n \"every\",\n \"except\",\n \"exec\",\n \"execute\",\n \"exists\",\n \"exp\",\n \"external\",\n \"extract\",\n \"false\",\n \"fetch\",\n \"filter\",\n \"first_value\",\n \"float\",\n \"floor\",\n \"for\",\n \"foreign\",\n \"frame_row\",\n \"free\",\n \"from\",\n \"full\",\n \"function\",\n \"fusion\",\n \"get\",\n \"global\",\n \"grant\",\n \"group\",\n \"grouping\",\n \"groups\",\n \"having\",\n \"hold\",\n \"hour\",\n \"identity\",\n \"in\",\n \"indicator\",\n \"initial\",\n \"inner\",\n \"inout\",\n \"insensitive\",\n \"insert\",\n \"int\",\n \"integer\",\n \"intersect\",\n \"intersection\",\n \"interval\",\n \"into\",\n \"is\",\n \"join\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"language\",\n \"large\",\n \"last_value\",\n \"lateral\",\n \"lead\",\n \"leading\",\n \"left\",\n \"like\",\n \"like_regex\",\n \"listagg\",\n \"ln\",\n \"local\",\n \"localtime\",\n \"localtimestamp\",\n \"log\",\n \"log10\",\n \"lower\",\n \"match\",\n \"match_number\",\n \"match_recognize\",\n \"matches\",\n \"max\",\n \"member\",\n \"merge\",\n \"method\",\n \"min\",\n \"minute\",\n \"mod\",\n \"modifies\",\n \"module\",\n \"month\",\n \"multiset\",\n \"national\",\n \"natural\",\n \"nchar\",\n \"nclob\",\n \"new\",\n \"no\",\n \"none\",\n \"normalize\",\n \"not\",\n \"nth_value\",\n \"ntile\",\n \"null\",\n \"nullif\",\n \"numeric\",\n \"octet_length\",\n \"occurrences_regex\",\n \"of\",\n \"offset\",\n \"old\",\n \"omit\",\n \"on\",\n \"one\",\n \"only\",\n \"open\",\n \"or\",\n \"order\",\n \"out\",\n \"outer\",\n \"over\",\n \"overlaps\",\n \"overlay\",\n \"parameter\",\n \"partition\",\n \"pattern\",\n \"per\",\n \"percent\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"period\",\n \"portion\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"precedes\",\n \"precision\",\n \"prepare\",\n \"primary\",\n \"procedure\",\n \"ptf\",\n \"range\",\n \"rank\",\n \"reads\",\n \"real\",\n \"recursive\",\n \"ref\",\n \"references\",\n \"referencing\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"release\",\n \"result\",\n \"return\",\n \"returns\",\n \"revoke\",\n \"right\",\n \"rollback\",\n \"rollup\",\n \"row\",\n \"row_number\",\n \"rows\",\n \"running\",\n \"savepoint\",\n \"scope\",\n \"scroll\",\n \"search\",\n \"second\",\n \"seek\",\n \"select\",\n \"sensitive\",\n \"session_user\",\n \"set\",\n \"show\",\n \"similar\",\n \"sin\",\n \"sinh\",\n \"skip\",\n \"smallint\",\n \"some\",\n \"specific\",\n \"specifictype\",\n \"sql\",\n \"sqlexception\",\n \"sqlstate\",\n \"sqlwarning\",\n \"sqrt\",\n \"start\",\n \"static\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"submultiset\",\n \"subset\",\n \"substring\",\n \"substring_regex\",\n \"succeeds\",\n \"sum\",\n \"symmetric\",\n \"system\",\n \"system_time\",\n \"system_user\",\n \"table\",\n \"tablesample\",\n \"tan\",\n \"tanh\",\n \"then\",\n \"time\",\n \"timestamp\",\n \"timezone_hour\",\n \"timezone_minute\",\n \"to\",\n \"trailing\",\n \"translate\",\n \"translate_regex\",\n \"translation\",\n \"treat\",\n \"trigger\",\n \"trim\",\n \"trim_array\",\n \"true\",\n \"truncate\",\n \"uescape\",\n \"union\",\n \"unique\",\n \"unknown\",\n \"unnest\",\n \"update\",\n \"upper\",\n \"user\",\n \"using\",\n \"value\",\n \"values\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"varbinary\",\n \"varchar\",\n \"varying\",\n \"versioning\",\n \"when\",\n \"whenever\",\n \"where\",\n \"width_bucket\",\n \"window\",\n \"with\",\n \"within\",\n \"without\",\n \"year\",\n ];\n\n // these are reserved words we have identified to be functions\n // and should only be highlighted in a dispatch-like context\n // ie, array_agg(...), etc.\n const RESERVED_FUNCTIONS = [\n \"abs\",\n \"acos\",\n \"array_agg\",\n \"asin\",\n \"atan\",\n \"avg\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"coalesce\",\n \"corr\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"cume_dist\",\n \"dense_rank\",\n \"deref\",\n \"element\",\n \"exp\",\n \"extract\",\n \"first_value\",\n \"floor\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"last_value\",\n \"lead\",\n \"listagg\",\n \"ln\",\n \"log\",\n \"log10\",\n \"lower\",\n \"max\",\n \"min\",\n \"mod\",\n \"nth_value\",\n \"ntile\",\n \"nullif\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"rank\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"row_number\",\n \"sin\",\n \"sinh\",\n \"sqrt\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"substring\",\n \"substring_regex\",\n \"sum\",\n \"tan\",\n \"tanh\",\n \"translate\",\n \"translate_regex\",\n \"treat\",\n \"trim\",\n \"trim_array\",\n \"unnest\",\n \"upper\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"width_bucket\",\n ];\n\n // these functions can\n const POSSIBLE_WITHOUT_PARENS = [\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_schema\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"session_user\",\n \"system_time\",\n \"system_user\",\n \"current_time\",\n \"localtime\",\n \"current_timestamp\",\n \"localtimestamp\"\n ];\n\n // those exist to boost relevance making these very\n // \"SQL like\" keyword combos worth +1 extra relevance\n const COMBOS = [\n \"create table\",\n \"insert into\",\n \"primary key\",\n \"foreign key\",\n \"not null\",\n \"alter table\",\n \"add constraint\",\n \"grouping sets\",\n \"on overflow\",\n \"character set\",\n \"respect nulls\",\n \"ignore nulls\",\n \"nulls first\",\n \"nulls last\",\n \"depth first\",\n \"breadth first\"\n ];\n\n const FUNCTIONS = RESERVED_FUNCTIONS;\n\n const KEYWORDS = [\n ...RESERVED_WORDS,\n ...NON_RESERVED_WORDS\n ].filter((keyword) => {\n return !RESERVED_FUNCTIONS.includes(keyword);\n });\n\n const VARIABLE = {\n scope: \"variable\",\n match: /@[a-z0-9][a-z0-9_]*/,\n };\n\n const OPERATOR = {\n scope: \"operator\",\n match: /[-+*/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,\n relevance: 0,\n };\n\n const FUNCTION_CALL = {\n match: regex.concat(/\\b/, regex.either(...FUNCTIONS), /\\s*\\(/),\n relevance: 0,\n keywords: { built_in: FUNCTIONS }\n };\n\n // turns a multi-word keyword combo into a regex that doesn't\n // care about extra whitespace etc.\n // input: \"START QUERY\"\n // output: /\\bSTART\\s+QUERY\\b/\n function kws_to_regex(list) {\n return regex.concat(\n /\\b/,\n regex.either(...list.map((kw) => {\n return kw.replace(/\\s+/, \"\\\\s+\")\n })),\n /\\b/\n )\n }\n\n const MULTI_WORD_KEYWORDS = {\n scope: \"keyword\",\n match: kws_to_regex(COMBOS),\n relevance: 0,\n };\n\n // keywords with less than 3 letters are reduced in relevancy\n function reduceRelevancy(list, {\n exceptions, when\n } = {}) {\n const qualifyFn = when;\n exceptions = exceptions || [];\n return list.map((item) => {\n if (item.match(/\\|\\d+$/) || exceptions.includes(item)) {\n return item;\n } else if (qualifyFn(item)) {\n return `${item}|0`;\n } else {\n return item;\n }\n });\n }\n\n return {\n name: 'SQL',\n case_insensitive: true,\n // does not include {} or HTML tags ` x.length < 3 }),\n literal: LITERALS,\n type: TYPES,\n built_in: POSSIBLE_WITHOUT_PARENS\n },\n contains: [\n {\n scope: \"type\",\n match: kws_to_regex(MULTI_WORD_TYPES)\n },\n MULTI_WORD_KEYWORDS,\n FUNCTION_CALL,\n VARIABLE,\n STRING,\n QUOTED_IDENTIFIER,\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n OPERATOR\n ]\n };\n}\n\nexport { sql as default };\n","/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);;\n // const XML_IDENT_RE = /[A-Z_a-z:\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]+/;\n // const TAG_NAME_RE = regex.concat(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/, regex.optional(/[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:/), /[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*/);\n // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: 'css'\n }\n },\n {\n className: 'tag',\n // See the comment in the \n \n );\n};\n\nexport default GraphSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\nconst CubeSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n /* eslint-disable no-magic-numbers */\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default CubeSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst CircleSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default CircleSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DotSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default DotSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DefaultSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default DefaultSpinner;\n","import {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {type} from 'ramda';\n\nimport {History} from '@plotly/dash-component-plugins';\n\n/**\n * Update and track the current window.location object through the window.history state.\n * Use in conjunction with the `dash_core_components.Link` component to make apps with multiple pages.\n */\nexport default class Location extends Component {\n constructor(props) {\n super(props);\n this.updateLocation = this.updateLocation.bind(this);\n this.onLocationChange = this.onLocationChange.bind(this);\n }\n\n updateLocation(props) {\n const {hash, href, pathname, refresh, search, setProps} = props;\n\n // Keep track of props relating to window.location that may need to be updated via setProps\n const propsToSet = {};\n\n /**\n * Check if the field exists in props. If the prop with \"fieldName\" is not defined,\n * then it was not set by the user and needs to be equal to the value in window.location.\n * This only happens on page load (since props will no longer be undefined after componentDidMount).\n *\n * @param {string} fieldName\n * The name of the prop in window.location and in the component's prop\n *\n * @returns {boolean}\n * Returns true if the prop with fieldName is different and the window state needs to be updated\n */\n const checkExistsUpdateWindowLocation = fieldName => {\n const propVal = props[fieldName];\n\n if (\n (type(propVal) === 'Undefined' || propVal === null) &&\n type(window.location[fieldName]) !== 'Undefined'\n ) {\n // propVal is undefined or null, but window.location has this fieldName defined\n propsToSet[fieldName] = window.location[fieldName];\n } else if (propVal !== window.location[fieldName]) {\n // Prop has changed?\n if (refresh === true) {\n // Refresh the page?\n if (\n fieldName === 'href' &&\n window.dash_clientside.clean_url(propVal) !== propVal\n ) {\n setProps({\n _dash_error: new Error(\n `Dangerous link detected: ${propVal}`\n ),\n });\n return false;\n }\n window.location[fieldName] = propVal;\n } else if (this.props[fieldName] !== propVal) {\n // If this prop has changed, need to setProps\n propsToSet[fieldName] = propVal;\n // This (`${fieldName}`: propVal) needs to be pushed in the window.history\n return true;\n }\n }\n // This (`${fieldName}`: propVal) DOES NOT need to be pushed in the window.history\n return false;\n };\n\n // Check if the prop value needs to be updated (note that this mutates propsToSet)\n const pathnameUpdated = checkExistsUpdateWindowLocation('pathname');\n const hrefUpdated = checkExistsUpdateWindowLocation('href');\n const hashUpdated = checkExistsUpdateWindowLocation('hash');\n const searchUpdated = checkExistsUpdateWindowLocation('search');\n\n // propsToSet has been updated -- batch update to Dash\n if (Object.keys(propsToSet).length > 0) {\n setProps(propsToSet);\n }\n\n // Special case -- overrides everything!\n if (hrefUpdated) {\n window.history.pushState({}, '', href);\n if (refresh === 'callback-nav') {\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n } else if (pathnameUpdated || hashUpdated || searchUpdated) {\n // Otherwise, we can mash everything together\n const searchVal = type(search) !== 'Undefined' ? search : '';\n const hashVal = type(hash) !== 'Undefined' ? hash : '';\n window.history.pushState(\n {},\n '',\n `${pathname}${searchVal}${hashVal}`\n );\n if (refresh === 'callback-nav') {\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n }\n }\n\n onLocationChange() {\n const {setProps} = this.props;\n const propsToChange = {};\n\n if (this.props.pathname !== window.location.pathname) {\n propsToChange.pathname = window.location.pathname;\n }\n if (this.props.href !== window.location.href) {\n propsToChange.href = window.location.href;\n }\n if (this.props.hash !== window.location.hash) {\n propsToChange.hash = window.location.hash;\n }\n if (this.props.search !== window.location.search) {\n propsToChange.search = window.location.search;\n }\n\n setProps(propsToChange);\n\n History.dispatchChangeEvent();\n }\n\n componentDidMount() {\n window.addEventListener('popstate', this.onLocationChange);\n\n window.addEventListener(\n '_dashprivate_pushstate',\n this.onLocationChange\n );\n this.updateLocation(this.props);\n }\n\n componentWillUnmount() {\n window.removeEventListener('popstate', this.onLocationChange);\n window.removeEventListener(\n '_dashprivate_pushstate',\n this.onLocationChange\n );\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateLocation(nextProps);\n }\n\n render() {\n return null;\n }\n}\n\nLocation.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string.isRequired,\n\n /** pathname in window.location - e.g., \"/my/full/pathname\" */\n pathname: PropTypes.string,\n /** search in window.location - e.g., \"?myargument=1\" */\n search: PropTypes.string,\n /** hash in window.location - e.g., \"#myhash\" */\n hash: PropTypes.string,\n /** href in window.location - e.g., \"/my/full/pathname?myargument=1#myhash\" */\n href: PropTypes.string,\n\n /**\n * Use `True` to navigate outside the Dash app or to manually refresh a page.\n * Use `False` if the same callback that updates the Location component is also\n * updating the page content - typically used in multi-page apps that do not use Pages.\n * Use 'callback-nav' if you are updating the URL in a callback, or a different\n * callback will respond to the new Location with updated content. This is\n * typical with multi-page apps that use Pages. This will allow for\n * navigating to a new page without refreshing the page.\n */\n refresh: PropTypes.oneOfType([\n PropTypes.oneOf(['callback-nav']),\n PropTypes.bool,\n ]),\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n\nLocation.defaultProps = {\n refresh: true,\n};\n","export default () =>\n import(/* webpackChunkName: \"markdown\" */ '../../fragments/Markdown');\n","import React, {lazy, Suspense, useEffect} from 'react';\nimport {MarkdownProps} from '../types';\nimport markdown from '../utils/LazyLoader/markdown';\nimport lazyLoadMathJax from '../utils/LazyLoader/third-party/mathjax';\n\nconst RealMarkdown = lazy(markdown);\n\n/**\n * A component that renders Markdown text as specified by the\n * GitHub Markdown spec. These component uses\n * [react-markdown](https://github.com/remarkjs/react-markdown) under the hood.\n */\nexport default function Markdown({\n mathjax = false,\n dangerously_allow_html = false,\n dedent = true,\n ...props\n}: MarkdownProps) {\n useEffect(() => {\n if (mathjax) {\n lazyLoadMathJax();\n }\n }, [mathjax]);\n\n return (\n \n \n \n );\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./radioitems.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./radioitems.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {useMemo} from 'react';\nimport {RadioItemsProps, PersistedProps, PersistenceTypes} from '../types';\nimport './css/radioitems.css';\n\nimport {sanitizeOptions} from '../utils/optionTypes';\nimport LoadingElement from '../utils/_LoadingElement';\nimport {OptionsList} from '../utils/optionRendering';\nimport {isNil} from 'ramda';\n\n/**\n * RadioItems is a component that encapsulates several radio item inputs.\n * The values and labels of the RadioItems is specified in the `options`\n * property and the seleced item is specified with the `value` property.\n * Each radio item is rendered as an input with a surrounding label.\n */\nexport default function RadioItems({\n className,\n id,\n style,\n setProps,\n value,\n inputStyle = {},\n inputClassName = '',\n labelStyle = {},\n labelClassName = '',\n options = [],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n inline = false,\n}: RadioItemsProps) {\n const sanitizedOptions = useMemo(() => {\n return sanitizeOptions(options).options;\n }, [options]);\n\n const stylingProps = {\n id,\n className: 'dash-radioitems ' + (className ?? ''),\n style,\n optionClassName: inline ? 'dash-radioitems-inline' : undefined,\n inputStyle,\n inputClassName,\n labelStyle,\n labelClassName,\n };\n\n return (\n \n {loadingProps => (\n {\n if (selection.length) {\n setProps({value: selection[selection.length - 1]});\n }\n }}\n {...stylingProps}\n />\n )}\n \n );\n}\n\nRadioItems.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","export default () =>\n import(/* webpackChunkName: \"slider\" */ '../../fragments/RangeSlider');\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./sliders.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./sliders.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {lazy, Suspense} from 'react';\nimport {PersistedProps, PersistenceTypes, RangeSliderProps} from '../types';\nimport rangeSlider from '../utils/LazyLoader/rangeSlider';\n\nimport './css/sliders.css';\n\nconst RealRangeSlider = lazy(rangeSlider);\n\n/**\n * A double slider with two handles.\n * Used for specifying a range of numerical values.\n */\nexport default function RangeSlider({\n updatemode = 'mouseup',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n // eslint-disable-next-line no-magic-numbers\n verticalHeight = 400,\n step = undefined,\n allow_direct_input = true,\n ...props\n}: RangeSliderProps) {\n // Some considerations for the default value of `step`:\n // If the range consists of integers, default to a value of `1`\n // Otherwise, leave it undefined\n if (\n typeof step === 'undefined' &&\n Number.isInteger(props.min) &&\n Number.isInteger(props.max)\n ) {\n step = 1;\n }\n\n return (\n \n \n \n );\n}\n\nRangeSlider.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","import {omit} from 'ramda';\nimport React, {lazy, Suspense, useCallback, useMemo} from 'react';\nimport {\n PersistedProps,\n PersistenceTypes,\n RangeSliderProps,\n SliderProps,\n} from '../types';\nimport rangeSlider from '../utils/LazyLoader/rangeSlider';\nimport './css/sliders.css';\n\nconst RealSlider = lazy(rangeSlider);\n\n/**\n * A slider component with a single handle.\n */\nexport default function Slider({\n updatemode = 'mouseup',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n // eslint-disable-next-line no-magic-numbers\n verticalHeight = 400,\n step = undefined,\n allow_direct_input = true,\n setProps,\n value,\n drag_value,\n ...props\n}: SliderProps) {\n // This is actually a wrapper around a RangeSlider.\n // We'll modify key `Slider` props to be compatible with a Range Slider.\n\n // Some considerations for the default value of `step`:\n // If the range consists of integers, default to a value of `1`\n // Otherwise, leave it undefined\n if (\n typeof step === 'undefined' &&\n Number.isInteger(props.min) &&\n Number.isInteger(props.max)\n ) {\n step = 1;\n }\n\n const mappedValue: RangeSliderProps['value'] = useMemo(() => {\n return typeof value === 'number' ? [value] : value;\n }, [value]);\n\n const mappedDragValue: RangeSliderProps['drag_value'] = useMemo(() => {\n return typeof drag_value === 'number' ? [drag_value] : drag_value;\n }, [drag_value]);\n\n const mappedSetProps: RangeSliderProps['setProps'] = useCallback(\n newProps => {\n const {value, drag_value} = newProps;\n const mappedProps: Partial = omit(\n ['value', 'drag_value', 'setProps'],\n newProps\n );\n if ('value' in newProps) {\n mappedProps.value = value ? value[0] : value;\n }\n if ('drag_value' in newProps) {\n mappedProps.drag_value = drag_value\n ? drag_value[0]\n : drag_value;\n }\n\n setProps(mappedProps);\n },\n [setProps]\n );\n\n return (\n \n \n \n );\n}\n\nSlider.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","import {equals, isNil} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Abstraction for the memory storage_type to work the same way as local/session\n *\n * Each memory Store component get it's own MemStore.\n */\nclass MemStore {\n constructor() {\n this._data = {};\n this._modified = -1;\n }\n\n getItem(key) {\n return this._data[key];\n }\n\n setItem(key, value) {\n this._data[key] = value;\n this.setModified(key);\n }\n\n removeItem(key) {\n delete this._data[key];\n this.setModified(key);\n }\n\n // noinspection JSUnusedLocalSymbols\n setModified(_) {\n this._modified = Date.now();\n }\n\n // noinspection JSUnusedLocalSymbols\n getModified(_) {\n return this._modified;\n }\n}\n\n/**\n * Abstraction for local/session storage_type.\n *\n * Single instances for localStorage, sessionStorage\n */\nclass WebStore {\n constructor(storage) {\n this._storage = storage;\n }\n\n getItem(key) {\n try {\n return JSON.parse(this._storage.getItem(key));\n } catch (e) {\n // in case we somehow got a non-JSON value in storage,\n // just ignore it.\n return null;\n }\n }\n\n setItem(key, value) {\n this._storage.setItem(key, JSON.stringify(value));\n this.setModified(key);\n }\n\n removeItem(key) {\n this._storage.removeItem(key);\n this._storage.removeItem(`${key}-timestamp`);\n }\n\n setModified(key) {\n this._storage.setItem(`${key}-timestamp`, Date.now());\n }\n\n getModified(key) {\n return (\n Number.parseInt(this._storage.getItem(`${key}-timestamp`), 10) || -1\n );\n }\n}\n\n/**\n * Easily keep data on the client side with this component.\n * The data is not inserted in the DOM.\n * Data can be in memory, localStorage or sessionStorage.\n * The data will be kept with the id as key.\n */\nexport default class Store extends React.Component {\n constructor(props) {\n super(props);\n\n if (props.storage_type === 'local') {\n this._backstore = new WebStore(window.localStorage);\n } else if (props.storage_type === 'session') {\n this._backstore = new WebStore(window.sessionStorage);\n } else if (props.storage_type === 'memory') {\n this._backstore = new MemStore();\n }\n\n this.onStorageChange = this.onStorageChange.bind(this);\n }\n\n onStorageChange(e) {\n const {id, setProps} = this.props;\n if (e.key === id && setProps && e.newValue !== e.oldValue) {\n setProps({\n data: JSON.parse(e.newValue),\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n\n UNSAFE_componentWillMount() {\n const {setProps, id, data, storage_type} = this.props;\n if (storage_type !== 'memory') {\n window.addEventListener('storage', this.onStorageChange);\n }\n\n const old = this._backstore.getItem(id);\n if (isNil(old) && !isNil(data)) {\n // Initial data mount\n this._backstore.setItem(id, data);\n setProps({\n modified_timestamp: this._backstore.getModified(id),\n });\n return;\n }\n\n if (!equals(old, data)) {\n setProps({\n data: old,\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n\n componentWillUnmount() {\n if (this.props.storage_type !== 'memory') {\n window.removeEventListener('storage', this.onStorageChange);\n }\n }\n\n componentDidUpdate() {\n const {data, id, clear_data, setProps} = this.props;\n if (clear_data) {\n this._backstore.removeItem(id);\n setProps({\n clear_data: false,\n data: null,\n modified_timestamp: this._backstore.getModified(id),\n });\n return;\n }\n const old = this._backstore.getItem(id);\n // Only set the data if it's not the same data.\n // If the new data is undefined, we got here by overwriting the entire\n // component with a new copy that has no `data` specified - so pull back\n // out the old value.\n // Note: this still allows you to set data to null\n if (!equals(data, old)) {\n if (data === undefined) {\n setProps({data: old});\n } else {\n this._backstore.setItem(id, data);\n setProps({\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n }\n\n render() {\n return null;\n }\n}\n\nStore.defaultProps = {\n storage_type: 'memory',\n clear_data: false,\n modified_timestamp: -1,\n};\n\nStore.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string.isRequired,\n\n /**\n * The type of the web storage.\n *\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n storage_type: PropTypes.oneOf(['local', 'session', 'memory']),\n\n /**\n * The stored data for the id.\n */\n data: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n /**\n * Set to true to remove the data contained in `data_key`.\n */\n clear_data: PropTypes.bool,\n\n /**\n * The last time the storage was modified.\n */\n modified_timestamp: PropTypes.number,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./tabs.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./tabs.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport './css/tabs.css';\nimport {TabProps} from '../types';\n\n/**\n * Part of dcc.Tabs - this is the child Tab component used to render a tabbed page.\n * Its children will be set as the content of that tab, which if clicked will become visible.\n */\nfunction Tab({\n children,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disabled = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disabled_style = {color: 'var(--Dash-Text-Disabled)'},\n}: TabProps) {\n return <>{children};\n}\n\nexport default Tab;\n","import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport {has, isNil} from 'ramda';\n\nimport LoadingElement from '../utils/_LoadingElement';\nimport {PersistedProps, PersistenceTypes, TabProps, TabsProps} from '../types';\nimport './css/tabs.css';\nimport {DashComponent} from '@dash-renderer/types';\n\ninterface EnhancedTabProps extends TabProps {\n selected: boolean;\n componentPath?: (string | number)[];\n}\n\n// EnhancedTab is defined here instead of in Tab.tsx because if exported there,\n// it will mess up the Python imports and metadata.json\nconst EnhancedTab = ({\n id,\n label,\n selected,\n className,\n style,\n selected_className,\n selected_style,\n setProps: selectHandler,\n value,\n disabled = false,\n disabled_style = {color: 'var(--Dash-Text-Disabled)'},\n disabled_className,\n componentPath,\n}: EnhancedTabProps) => {\n const ExternalWrapper = window.dash_component_api.ExternalWrapper;\n const ctx = window.dash_component_api.useDashContext();\n componentPath = componentPath ?? ctx.componentPath;\n // We use the raw path here since it's up one level from\n // the tabs child.\n const isLoading = ctx.useLoading({rawPath: componentPath});\n const tabStyle = useMemo(() => {\n return {\n ...style,\n ...(disabled ? disabled_style : {}),\n ...(selected ? selected_style : {}),\n };\n }, [style, disabled, disabled_style, selected, selected_style]);\n\n const tabClassNames = useMemo(() => {\n let names = 'tab';\n if (disabled) {\n names += ' tab--disabled';\n if (disabled_className) {\n names += ` ${disabled_className}`;\n }\n }\n if (selected) {\n names += ' tab--selected';\n if (selected_className) {\n names += ` ${selected_className}`;\n }\n }\n if (className) {\n names += ` ${className}`;\n }\n return names;\n }, [className, disabled, disabled_className, selected, selected_className]);\n\n let labelDisplay;\n if (typeof label === 'object') {\n labelDisplay = (\n \n );\n } else {\n labelDisplay = {label};\n }\n\n return (\n {\n if (!disabled) {\n selectHandler({value});\n }\n }}\n >\n {labelDisplay}\n
\n );\n};\n\n/**\n * A Dash component that lets you render pages with tabs - the Tabs component's children\n * can be dcc.Tab components, which can hold a label that will be displayed as a tab, and can in turn hold\n * children components that will be that tab's content.\n */\nfunction Tabs({\n // eslint-disable-next-line no-magic-numbers\n mobile_breakpoint = 800,\n colors = {\n border: 'var(--Dash-Stroke-Weak)',\n primary: 'var(--Dash-Fill-Interactive-Strong)',\n background: 'var(--Dash-Fill-Interactive-Weak)',\n },\n vertical = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n children,\n ...props\n}: TabsProps) {\n const initializedRef = useRef(false);\n const [isAboveBreakpoint, setIsAboveBreakpoint] = useState(false);\n\n const parseChildrenToArray = useCallback((): DashComponent[] => {\n if (!children) {\n return [];\n }\n if (children instanceof Array) {\n return children;\n }\n return [children];\n }, [children]);\n\n const valueOrDefault = (): string | undefined => {\n if (has('value', props)) {\n return props.value;\n }\n const children = parseChildrenToArray();\n if (children && children.length && children[0].props.componentPath) {\n const firstChildren: TabProps = window.dash_component_api.getLayout(\n [...children[0].props.componentPath, 'props']\n );\n return firstChildren.value ?? 'tab-1';\n }\n return 'tab-1';\n };\n\n // Initialize value on mount if not set\n useEffect(() => {\n if (!initializedRef.current && !has('value', props)) {\n props.setProps({\n value: `${valueOrDefault()}`,\n });\n initializedRef.current = true;\n }\n }, []);\n\n // Setup matchMedia for responsive breakpoint\n useEffect(() => {\n const mediaQuery = window.matchMedia(\n `(min-width: ${mobile_breakpoint}px)`\n );\n\n // Set initial value\n setIsAboveBreakpoint(mediaQuery.matches);\n\n // Listen for changes\n const handler = (e: MediaQueryListEvent) =>\n setIsAboveBreakpoint(e.matches);\n mediaQuery.addEventListener('change', handler);\n\n return () => mediaQuery.removeEventListener('change', handler);\n }, [mobile_breakpoint]);\n\n let EnhancedTabs: JSX.Element[];\n let selectedTab;\n\n const value = valueOrDefault();\n\n if (children) {\n const children = parseChildrenToArray();\n\n EnhancedTabs = children.map((child, index) => {\n // TODO: handle components that are not dcc.Tab components (throw error)\n // enhance Tab components coming from Dash (as dcc.Tab) with methods needed for handling logic\n let childProps: Omit;\n\n if (React.isValidElement(child) && child.props.componentPath) {\n childProps = window.dash_component_api.getLayout([\n ...child.props.componentPath,\n 'props',\n ]);\n } else {\n // In case the selected tab is a string.\n childProps = {};\n }\n\n if (!childProps.value) {\n childProps = {...childProps, value: `tab-${index + 1}`};\n }\n\n // check if this child/Tab is currently selected\n if (childProps.value === value) {\n selectedTab = child;\n }\n\n const style = childProps.style ?? {};\n if (typeof childProps.width === 'number') {\n style.width = `${childProps.width}px`;\n style.flex = '0 0 auto';\n } else if (typeof childProps.width === 'string') {\n style.width = childProps.width;\n style.flex = '0 0 auto';\n }\n\n return (\n \n );\n });\n }\n\n const selectedTabContent = !isNil(selectedTab) ? selectedTab : '';\n\n const tabContainerClassNames = useMemo(() => {\n let names = 'tab-container';\n if (vertical) {\n names += ` tab-container--vert`;\n }\n if (props.className) {\n names += ` ${props.className}`;\n }\n return names;\n }, [vertical, props.className]);\n\n const tabContentClassNames = useMemo(() => {\n let names = 'tab-content';\n if (vertical) {\n names += ` tab-content--vert`;\n }\n if (props.content_className) {\n names += ` ${props.content_className}`;\n }\n return names;\n }, [vertical, props.content_className]);\n\n const tabParentClassNames = useMemo(() => {\n let names = 'tab-parent';\n if (vertical) {\n names += ` tab-parent--vert`;\n }\n if (isAboveBreakpoint) {\n names += ' tab-parent--above-breakpoint';\n }\n if (props.parent_className) {\n names += ` ${props.parent_className}`;\n }\n return names;\n }, [vertical, isAboveBreakpoint, props.parent_className]);\n\n // Set CSS variables for dynamic styling\n const cssVars = {\n '--tabs-border': colors.border,\n '--tabs-primary': colors.primary,\n '--tabs-background': colors.background,\n } as const;\n\n return (\n \n {loadingProps => (\n \n \n {EnhancedTabs}\n
\n \n {selectedTabContent || ''}\n
\n
\n )}\n \n );\n}\n\nTabs.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n\nTabs.dashChildrenUpdate = true;\n\nexport default Tabs;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./textarea.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./textarea.css\";\n export default content && content.locals ? content.locals : undefined;\n","/* eslint-disable no-unused-vars */\nimport React from 'react';\nimport {pick} from 'ramda';\nimport {PersistedProps, PersistenceTypes, TextAreaProps} from '../types';\nimport './css/textarea.css';\n\nconst textAreaProps = [\n 'id',\n 'cols',\n 'rows',\n 'minLength',\n 'maxLength',\n 'contentEditable',\n 'tabIndex',\n 'form',\n 'name',\n 'placeholder',\n 'wrap',\n 'accessKey',\n 'contextMenu',\n 'dir',\n 'draggable',\n 'lang',\n 'spellCheck',\n 'style',\n 'title',\n] as const;\n\n/**\n * A basic HTML textarea for entering multiline text.\n *\n */\nconst Textarea = ({\n setProps,\n n_blur = 0,\n n_blur_timestamp = -1,\n n_clicks = 0,\n n_clicks_timestamp = -1,\n ...props\n}: TextAreaProps) => {\n const ctx = window.dash_component_api.useDashContext();\n const isLoading = ctx.useLoading();\n\n return (\n
\n
\n \n );\n};\n\nexport default Tooltip;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./dcc.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./dcc.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","e","window","module","exports","__webpack_require__","n","t","r","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","u","a","done","Promise","resolve","then","this","arguments","apply","isReady","lazy","setTimeout","regeneratorRuntime","mark","wrap","prev","next","stop","_dashprivate_isLazyComponentReady","f","length","configurable","writable","key","TypeError","dispatchEvent","CustomEvent","addEventListener","removeEventListener","_typeof","iterator","constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","Constructor","protoProps","staticProps","arg","input","prim","toPrimitive","undefined","res","hint","String","_toPrimitive","isDeepEqual","isDeepStrictEqual","_require$codes","codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","inspect","_require$types","isPromise","isRegExp","objectAssign","objectIs","RegExpPrototypeTest","lazyLoadComparison","comparison","Map","warned","assert","ok","NO_EXCEPTION_SENTINEL","innerFail","obj","message","Error","innerOk","fn","argLen","generatedMessage","err","actual","expected","operator","stackStartFn","_len","args","Array","_key","concat","fail","internalMessage","argsLen","process","emitWarning","console","warn","errArgs","equal","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","strictEqual","notStrictEqual","Comparison","keys","_this","instance","_classCallCheck","forEach","expectedException","msg","name","push","b","compareExceptionKey","isPrototypeOf","getActual","checkIsPromise","catch","waitForActual","promiseFn","resultPromise","expectsError","error","details","fnType","expectsNoError","internalMatch","string","regexp","fnName","match","strict","_len6","_key6","throws","_len2","_key2","rejects","_len3","_key3","result","doesNotThrow","_len4","_key4","doesNotReject","_len5","_key5","ifError","newErr","origStack","stack","tmp2","split","shift","tmp1","pos","indexOf","slice","join","doesNotMatch","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","getOwnPropertyDescriptors","defineProperties","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Function","toString","has","set","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","setPrototypeOf","__proto__","getPrototypeOf","endsWith","str","search","this_len","substring","blue","green","red","white","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","copyError","source","inspectValue","val","compact","customInspect","depth","maxArrayLength","Infinity","showHidden","breakLength","showProxy","sorted","getters","_Error","_inspect$custom","subClass","superClass","_inherits","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","options","limit","stackTraceLimit","stderr","isTTY","getColorDepth","other","lastPos","end","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","columns","count","Math","floor","maxCount","log","repeat","pop","maxLines","max","_actualLines","printedLines","skippedMsg","cur","expectedLine","actualLine","divergingLines","createErrDiff","base","_res","knownOperators","code","captureStackTrace","recurseTimes","ctx","custom","util","createErrorType","Base","NodeError","_Base","arg1","arg2","arg3","getMessage","oneOf","thing","isArray","len","map","determiner","start","substr","replace","type","reason","inspected","RangeError","_slicedToArray","arr","_arrayWithHoles","return","_iterableToArrayLimit","minLen","_arrayLikeToArray","from","test","_unsupportedIterableToArray","_nonIterableRest","arr2","regexFlagsSupported","flags","arrayFromSet","array","arrayFromMap","is","objectGetOwnPropertySymbols","numberIsNaN","Number","isNaN","uncurryThis","propertyIsEnumerable","objectToString","isAnyArrayBuffer","isArrayBufferView","isDate","isMap","isSet","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","charCodeAt","pow","getOwnNonIndexProperties","compare","x","y","min","innerDeepEqual","val1","val2","memos","buf1","buf2","val1Tag","keys1","keys2","keyCheck","Date","getTime","RegExp","byteLength","Uint8Array","buffer","byteOffset","areSimilarTypedArrays","offset","areSimilarFloatArrays","_keys","_keys2","size","BigInt","isEqualBoxedPrimitive","getEnumerables","k","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","position","val2MemoA","val2MemoB","areEq","memo","aValues","Set","add","setMightHaveLoosePrim","bValues","_i","_val","setHasEqualElement","setEquiv","aEntries","_aEntries$i","item1","item2","mapMightHaveLoosePrim","bEntries","_i2","_bEntries$_i","item","mapHasEqualEntry","mapEquiv","keysA","objEquiv","delete","setValues","findLooseMatchingPrimitives","altValue","curB","key1","key2","privatePropTypes","_dashprivate_transformConfig","PropTypes","_dashprivate_transformFigure","_dashprivate_onFigureModified","EMPTY_DATA","PlotlyGraph","_Component","_callSuper","mathjax","_loadMathjax","state","prependData","extendData","clearState","setState","nextProps","figure","dataKey","data","React","ControlledPlotlyGraph","_extends","Component","RealPlotlyGraph","asyncDecorator","all","Plotly","reject","timeoutId","element","document","createElement","src","_dashPlotlyJSURL","async","onload","clearTimeout","onerror","querySelector","appendChild","lazyLoadMathJax","_ref","className","id","extendedClassName","Suspense","fallback","displayName","propTypes","responsive","clickData","clickAnnotationData","hoverData","clear_on_unhover","selectedData","relayoutData","restyleData","layout","frames","style","animate","animation_options","config","staticPlot","plotlyServerURL","editable","editSelection","edits","annotationPosition","annotationTail","annotationText","axisTitleText","colorbarPosition","colorbarTitleText","legendPosition","legendText","shapePosition","titleText","autosizable","queueLength","fillFrame","frameMargins","scrollZoom","doubleClick","doubleClickDelay","showTips","showAxisDragHandles","showAxisRangeEntryBoxes","showLink","sendData","linkText","displayModeBar","showSendToCloud","showEditInChartStudio","modeBarButtonsToRemove","modeBarButtonsToAdd","modeBarButtons","toImageButtonOptions","format","filename","width","height","scale","displaylogo","watermark","plotGlPixelRatio","topojsonURL","mapboxAccessToken","locale","locales","displayNotifier","setProps","defaultProps","frame","redraw","transition","duration","ease","graphPropTypes","graphDefaultProps","Graph_react","upload","RealUpload","Upload","contents","last_modified","children","accept","disabled","disable_click","max_size","min_size","multiple","enable_folder_selection","className_active","className_reject","className_disabled","style_active","style_reject","style_disabled","borderStyle","borderColor","backgroundColor","opacity","LoadingElement","ref","_ref$elementType","elementType","_objectWithoutProperties","_excluded","loading","dash_component_api","useDashContext","useLoading","givenProps","__webpack_exports__","A","dropdown","RealDropdown","defaultLabels","select_all","deselect_all","selected_count","clear_search","clear_selection","no_options_found","Dropdown","_ref$clearable","clearable","_ref$disabled","_ref$multi","multi","_ref$searchable","searchable","_ref$labels","labels","_ref$optionHeight","optionHeight","_ref$maxHeight","maxHeight","_ref$closeOnSelect","closeOnSelect","persisted_props","PersistedProps","persistence_type","PersistenceTypes","local","dashPersistence","allBlankCharCodes","is_string_blank_namespaceFn","original","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","parent","lastInsertedElement","_lastElementInsertedByStyleLoader","nextSibling","insertBefore","firstChild","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","locals","convert","fastIsNumeric","isNumeric","NaN","isEquivalent","v1","v2","inputProps","Input","_ref$type","HTMLInputTypes","text","_ref$inputMode","inputMode","_ref$n_blur","n_blur","_ref$n_submit","n_blur_timestamp","n_submit","_ref$debounce","n_submit_timestamp","debounce","_ref$step","step","_ref$autoComplete","autoComplete","useRef","_useState2","useState","setValue","_useState4","pendingEvent","setPendingEvent","inputId","uniqid","valprops","number","setPropValue","useCallback","current","checkValidity","onEvent","inputValue","valueAsNumber","propValue","onBlur","now","onChange","onKeyDown","setInputValue","debounceEvent","seconds","handleStepperClick","direction","currentValue","parseFloat","stepAsNum","decimalPlaces","constrainedValue","roundedValue","toFixed","useEffect","cursorPosition","selectionStart","isFinite","setSelectionRange","disabledAsBool","includes","pickedInputs","pick","isNumberInput","currentNumericValue","minValue","maxValue","isDecrementDisabled","isIncrementDisabled","loadingProps","hidden","trim","onClick","components_Input","_ref$refresh","refresh","_ref$scrollToTop","scrollToTop","href","title","cleanUrl","dash_clientside","clean_url","sanitizedUrl","useMemo","updateLocation","metaKey","shiftKey","altKey","ctrlKey","isNil","preventDefault","location","history","pushState","scrollTo","_dash_error","CalendarDirection","MathJax","additionalProps","assign","safeIsNaN","isEqual","first","second","areInputsEqual","newInputs","lastInputs","memoize_one_esm","resultFn","lastThis","lastResult","lastArgs","calledOnce","newArgs","performance","cancelTimeout","timeoutID","cancelAnimationFrame","getScrollbarSize","recalculate","div","overflow","body","offsetWidth","clientWidth","removeChild","cachedRTLResult","getRTLOffsetType","outerDiv","outerStyle","innerDiv","innerStyle","scrollLeft","defaultItemKey$1","index","createListComponent","_class","getItemOffset","getEstimatedTotalSize","getItemSize","getOffsetForIndexAndAlignment","getStartIndexForOffset","getStopIndexForStartIndex","initInstanceProps","shouldResetStyleCacheOnItemSizeChange","validateProps","_PureComponent","List","_instanceProps","_outerRef","_resetIsScrollingTimeoutId","isScrolling","scrollDirection","scrollOffset","initialScrollOffset","scrollUpdateWasRequested","_callOnItemsRendered","memoizeOne","overscanStartIndex","overscanStopIndex","visibleStartIndex","visibleStopIndex","onItemsRendered","_callOnScroll","onScroll","_getItemStyle","_this$props","itemSize","itemStyleCache","_getItemStyleCache","isHorizontal","isRtl","offsetHorizontal","left","right","top","_offset","_","__","___","_onScrollHorizontal","event","_event$currentTarget","currentTarget","scrollWidth","prevState","_resetIsScrollingDebounced","_onScrollVertical","_event$currentTarget2","clientHeight","scrollHeight","scrollTop","_outerRefSetter","outerRef","callback","delay","_resetIsScrolling","requestAnimationFrame","tick","getDerivedStateFromProps","validateSharedProps","_proto","scrollToItem","align","_this$props2","itemCount","scrollbarSize","componentDidMount","_this$props3","_callPropsCallbacks","componentDidUpdate","_this$props4","_this$state","componentWillUnmount","render","_this$props5","innerRef","innerElementType","innerTagName","itemData","_this$props5$itemKey","itemKey","outerElementType","outerTagName","useIsScrolling","_this$_getRangeToRend","_getRangeToRender","startIndex","stopIndex","items","_index","estimatedTotalSize","WebkitOverflowScrolling","willChange","pointerEvents","_this$_getRangeToRend2","_overscanStartIndex","_overscanStopIndex","_visibleStartIndex","_visibleStopIndex","_this$state2","_scrollDirection","_scrollOffset","_scrollUpdateWasRequested","_this$props6","overscanCount","_this$state3","overscanBackward","overscanForward","PureComponent","validateSharedProps$1","_ref2","_ref3","getItemMetadata$1","instanceProps","itemMetadataMap","lastMeasuredIndex","itemMetadata","findNearestItemBinarySearch$1","high","low","middle","currentOffset","estimatedItemSize","totalSizeOfMeasuredItems","VariableSizeList","maxOffset","minOffset","round","findNearestItemBinarySearch","interval","findNearestItemExponentialSearch","findNearestItem$1","getItemMetadata","resetAfterIndex","shouldForceUpdate","forceUpdate","_ref5","optionslist","OptionLabel","label","ExternalWrapper","component","componentPath","displayLabel","Option","option","isSelected","optionClassName","optionStyle","_ref2$inputType","inputType","inputClassName","inputStyle","labelClassName","labelStyle","classNames","inputClassNames","labelClassNames","role","checked","onKeyUp","readOnly","Row","selected","passThruProps","setOptionHeight","measureRef","el","immediateHeight","getBoundingClientRect","ResizeObserver","_ref4","_entry$borderBoxSize$","_entry$borderBoxSize","entry","borderBoxSize","blockSize","contentRect","observe","OptionsList","forwardRef","_ref6","onSelectionChange","_ref6$maxHeight","innerHeight","listRef","containerRef","pendingFocusRef","heightsRef","measuredHeight","setMeasuredHeight","defaultOptionHeight","getOptionHeight","_heightsRef$current$g","_listRef$current","useLayoutEffect","_listRef$current2","h","defaultListHeight","listHeight","focusOption","optionIndex","_containerRef$current","deferred","HTMLElement","focus","useImperativeHandle","focusItem","handleChange","newValue","without","append","handleItemsRendered","sizerDiv","longestOption","maxLen","_data$options$index$v","_data$options$index","sanitizeOptions","valueSet","opt","isOptionValue","entries","$apply","$call","$reflectApply","actualApply","$TypeError","$actualApply","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$defineProperty","callBindBasic","applyBind","originalFunction","func","adjustedLength","times","g","functions","time","object","expression","tuple","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","version","sources","names","mappings","sourcesContent","sourceRoot","cssWithMappingToString","list","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","sourceMapping","$SyntaxError","gopd","property","nonEnumerable","nonWritable","nonConfigurable","loose","desc","hasSymbols","toStr","defineDataProperty","supportsDescriptors","predicate","predicates","hasProtoAccessor","gOPD","$Object","$getPrototypeOf","EvalError","SyntaxError","URIError","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","XMLHttpRequest","open","responseType","response","send","status","MouseEvent","createEvent","initMouseEvent","global","navigator","userAgent","saveAs","HTMLAnchorElement","URL","webkitURL","j","download","rel","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","innerText","safari","FileReader","onloadend","readAsDataURL","isCallable","thisArg","receiver","forEachArray","charAt","forEachString","forEachObject","concatty","that","bound","arrLike","slicy","boundLength","boundArgs","joiny","Empty","implementation","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","abs","sign","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","$ObjectGPO","$ReflectGPO","needsEval","TypedArray","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt64Array","BigUint64Array","DataView","decodeURI","decodeURIComponent","encodeURI","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","parseInt","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","$exec","exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","last","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","reflectGetProto","originalGetProto","getDunderProto","O","hasPropertyDescriptors","hasArrayLengthDefineBug","origSymbol","hasSymbolSham","sym","symObj","getOwnPropertyNames","syms","$hasOwn","ctor","superCtor","super_","TempCtor","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","strClass","isFnRegex","safeRegexTest","getGeneratorFunction","GeneratorFunction","define","getPolyfill","shim","polyfill","isRegexMarker","throwRegexMarker","badStringifier","whichTypedArray","$isNaN","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isObject","isFunction","isArguments","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","objectKeys","$push","$propIsEnumerable","originalGetSymbols","source1","to","getSymbols","nextKey","letters","lacksProperEnumerationOrder","preventExtensions","thrower","assignHasPendingExceptions","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","isRegex","regex","hasDescriptors","$floor","functionLengthIsConfigurable","functionLengthIsWritable","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","css","sourceMap","references","updater","addElementStyle","byIndex","api","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","attributes","styleElement","nonce","nc","setAttribute","parentNode","removeStyleElement","styleSheet","cssText","createTextNode","pid","prefix","suffix","copy","fill","readUInt8","isArgumentsObject","isGeneratorFunction","isTypedArray","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","method","descriptors","formatRegExp","objects","isNull","deprecate","noDeprecation","throwDeprecation","traceDeprecation","trace","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","toUpperCase","opts","seen","stylize","stylizeNoColor","colors","isBoolean","_extend","isUndefined","stylizeWithColor","formatValue","styleType","styles","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","hash","idx","arrayToHash","isError","formatError","output","braces","toUTCString","formatProperty","formatArray","reduce","reduceToSingleString","line","ar","re","pad","debuglog","bold","italic","underline","inverse","grey","black","cyan","magenta","yellow","special","boolean","null","date","types","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","months","prop","getHours","getMinutes","getSeconds","getDate","getMonth","inherits","kCustomPromisifiedSymbol","callbackifyOnRejected","cb","newReason","promisify","promiseResolve","promiseReject","promise","callbackify","callbackified","maybeCb","rej","availableTypedArrays","globalThis","typedArrays","$slice","cache","typedArray","proto","superProto","tag","isTATag","found","getter","trySlices","tryTypedArrays","ReactJSXRuntime","jsx","maybeKey","propName","jsxs","jsxDEV","Fragment","possibleNames","out","defaultOptions","getDefaultOptions","dateLongFormatter","pattern","formatLong","timeLongFormatter","longFormatters","P","dateTimeLongFormatter","dateTimeFormat","matchResult","datePattern","timePattern","dateTime","getTimezoneOffsetInMilliseconds","_date","toDate","utcDate","UTC","getFullYear","getMilliseconds","setUTCFullYear","normalizeDates","context","dates","normalize","constructFrom","find","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isProtectedDayOfYearToken","token","isProtectedWeekYearToken","warnOrThrowProtectedError","_message","subject","toLowerCase","millisecondsInWeek","millisecondsInDay","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","constructFromSymbol","for","differenceInCalendarDays","laterDate","earlierDate","_normalizeDates2","in","laterDate_","earlierDate_","laterStartOfDay","startOfDay","earlierStartOfDay","laterTimestamp","earlierTimestamp","getDayOfYear","date_","setFullYear","setHours","startOfYear","addLeadingZeros","targetLength","padStart","lightFormatters","signedYear","year","M","month","dayPeriodEnumValue","H","S","numberOfDigits","milliseconds","trunc","formatters","G","localize","era","ordinalNumber","unit","Y","signedWeekYear","getWeekYear","weekYear","R","getISOWeekYear","Q","quarter","ceil","q","L","w","week","getWeek","I","isoWeek","getISOWeek","D","dayOfYear","E","dayOfWeek","getDay","day","localDayOfWeek","weekStartsOn","isoDayOfWeek","dayPeriod","hours","B","K","X","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","z","T","delimiter","absOffset","minutes","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","_options$locale","_options$firstWeekCon","_options$locale2","_defaultOptions$local","_ref7","_options$weekStartsOn","_options$locale3","_defaultOptions$local2","defaultLocale","firstWeekContainsDate","originalDate","isValid","firstCharacter","longFormatter","isToken","matched","preprocessor","formatterOptions","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","formatter","diff","startOfISOWeek","fourthOfJanuary","startOfISOWeekYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfWeek","firstWeek","startOfWeekYear","firstWeekOfNextYear","firstWeekOfThisYear","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","buildFormatLongFn","defaultWidth","formats","full","long","medium","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","values","argumentCallback","dirtyNumber","_options","rem100","narrow","abbreviated","wide","am","pm","midnight","noon","morning","afternoon","evening","night","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findIndex","findKey","valueCallback","rest","parsePattern","parseResult","any","enUS","formatDistance","tokenValue","addSuffix","formatRelative","_baseDate","parseISO","argument","_options$additionalDi","invalidDate","additionalDigits","dateStrings","dateString","timeString","patterns","dateTimeDelimiter","timeZoneDelimiter","timezone","splitDateString","parseYearResult","captures","restDateString","century","parseYear","dateRegex","isWeekDate","parseDateUnit","_year","validateWeekDate","isoWeekYear","getUTCDay","setUTCDate","getUTCDate","dayOfISOWeekYear","daysInMonths","isLeapYearIndex","validateDate","validateDayOfYearDate","parseDate","timestamp","timeRegex","parseTimeUnit","validateTime","parseTime","tmpDate","getUTCFullYear","getUTCMonth","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","timezoneString","timezoneRegex","_hours","validateTimezone","parseTimezone","setDate","cached","es_append","set1","set2","len1","len2","_concat","_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__","_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__","_toString_js__WEBPACK_IMPORTED_MODULE_4__","_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__","_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__","_arrayFromIterator","iter","_includesWith","pred","internal_objectIs","_uniqContentEquals","aIterator","bIterator","stackA","stackB","eq","_a","_b","_equals","aItem","typeA","equals","ignoreCase","multiline","sticky","unicode","extendedStackA","extendedStackB","_has","es_equals","_curry2","XFilter","xf","_xfBase","init","_xfilter","es_filter","_dispatchable","filterable","_isObject","reducer","acc","_arrayReduce","_filterMap","_filter","es_hasPath","_path","es_has","_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__","_curry1","f1","_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__","f2","_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__","_curry1_js__WEBPACK_IMPORTED_MODULE_0__","methodNames","transducerCreator","_isArray","_isTransformer","transducer","_includes","inf","_indexOf","_isArguments","_has_js__WEBPACK_IMPORTED_MODULE_0__","_isFunction","_isPlaceholder","_isString","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","contains","_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__","nIdx","ks","checkArgsLength","_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__","_internal_has_js__WEBPACK_IMPORTED_MODULE_1__","omit","es_reject","_map","functor","_quote","internal_toISOString","toISOString","_toString","recur","xs","mapPairs","sort","repr","es_toString","hasOrAdd","shouldAdd","prevSize","_items","_nativeSet","bIdx","internal_Set","_Set","es_without","toRemove","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","cw","mod","mode","ns","def","definition","chunkId","promises","url","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","onScriptComplete","doneFns","head","scriptUrl","importScripts","currentScript","tagName","getCurrentScript","doc_scripts","textContent","jsonpScriptSrc","__jsonpScriptSrc__","isLocal","srcFragments","fileFragments","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","bg","b64","tmp","lens","validLen","getLens","placeHoldersLen","Arr","_byteLength","curByte","revLookup","lookup","css_button","components_Button","_ref$n_clicks","n_clicks","n_clicks_timestamp","isLoading","checklist_options","checklist","Checklist","_ref$inputStyle","_ref$inputClassName","_ref$labelStyle","_ref$labelClassName","_ref$options","_ref$value","_ref$inline","inline","sanitizedOptions","stylingProps","selection","_defineProperty","_arr","_n","_d","_e","_s","_WINDOW","_DOCUMENT","_PERFORMANCE","measure","MutationObserver","_ref$userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","NAMESPACE_IDENTIFIER","DEFAULT_REPLACEMENT_CLASS","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","FontAwesomeConfig","attr","coerce","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","hooks","shims","namespace","doScroll","readyState","listener","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","invokeCallback","subscriber","owner","settled","_state","_data","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","resolver","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","results","remaining","race","meaninglessTransform","rotate","flipX","flipY","nextUniqueId","random","htmlEscape","joinStyles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","fillBlack","abstract","force","initialValue","thisContext","bindInternal4","defineIcons","icons","_params$skipHooks","skipHooks","normalized","iconName","icon","addPack","build","ligatures","ligature","hasRegular","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","joinAttributes","MissingIcon","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","asFoundIcon","vectorData","class","cx","cy","Library","definitions","additions","_pullDefinitions","_normalized$key","ensureCss","_cssInserted","innerHTML","headChildren","childNodes","beforeChild","child","insertCss","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","findIconDefinition","iconLookup","_iconLookup$prefix","library","parse","transformString","parseTransformString","iconDefinition","abstractCreator","params","_params$transform","_params$symbol","symbol","_params$mask","mask","_params$maskId","maskId","_params$title","_params$titleId","titleId","_params$classes","classes","_params$attributes","_params$styles","_params$icons","main","extra","_params$watchable","watchable","isUploadedIcon","widthClass","attrClass","xmlns","viewBox","uploadedIconWidthStyle","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","asIcon","makeInlineSvgAbstract","container","html","maybeIconDefinition","enumerableOnly","symbols","_objectSpread2","index_es_defineProperty","index_es_typeof","index_es_objectWithoutProperties","excluded","sourceKeys","index_es_objectWithoutPropertiesLoose","sourceSymbolKeys","index_es_toConsumableArray","index_es_arrayWithoutHoles","index_es_iterableToArray","index_es_nonIterableSpread","camelize","chr","_excluded$1","index_es_PRODUCTION","normalizeIconArgs","objectWithKey","index_es_excluded","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","_classes","beat","fade","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","border","listItem","flip","rotation","pull","swapOpacity","classList","renderedIcon","_console","index_es_console","extraProps","convertCurry","external_PropTypes_default","bool","oneOfType","mixins","attrs","pair","startsWith","_extraProps$style","existingStyle","external_React_default","faCheckCircle","faCopy","Generator","_regeneratorDefine2","v","GeneratorFunctionPrototype","_regenerator","_invoke","asyncGeneratorStep","_asyncToGenerator","_next","_throw","clipboardAPI","clipboard","wait","ms","Clipboard","_React$Component","copyToClipboard","onClickHandler","copySuccess","getTargetText","stringifyId","copied","prevProps","wild","_copySuccess","_callee","htmlContent","showCopiedIcon","blobHtml","blobText","_context","ClipboardItem","write","writeText","_x","_x2","target_id","getElementById","_loading","_callee2","_context2","_copyToClipboard","_callee3","_context3","html_content","copied_children","button_children","DashContext","ConfirmDialog","_update","displayed","shouldTriggerDisplay","cancel_n_clicks","submit_n_clicks","confirm","submit_n_clicks_timestamp","cancel_n_clicks_timestamp","ConfirmDialogProvider","wrapClick","datePickerRange","DatePickerPersistence","extract","parsed","storedValue","RealDatePickerRange","DatePickerRange","_ref$calendar_orienta","calendar_orientation","_ref$is_RTL","is_RTL","_ref$day_size","day_size","_ref$with_portal","with_portal","_ref$with_full_screen","with_full_screen_portal","_ref$first_day_of_wee","first_day_of_week","_ref$number_of_months","number_of_months_shown","_ref$stay_open_on_sel","stay_open_on_select","_ref$reopen_calendar_","reopen_calendar_on_clear","_ref$show_outside_day","show_outside_days","_ref$updatemode","updatemode","_ref$disabled_days","start_date","end_date","disabled_days","persistenceTransforms","transformDate","datePickerSingle","RealDatePickerSingle","DatePickerSingle","_ref$placeholder","placeholder","getValue","Download","toByteArray","blob","isRequired","Geolocation","success","update_now","geolocation","positionOptions","enableHighAccuracy","high_accuracy","maximumAge","maximum_age","getCurrentPosition","updatePosition","_crd$latitude","_crd$longitude","_crd$accuracy","_crd$altitude","_crd$altitudeAccuracy","_crd$speed","_crd$heading","crd","coords","position_obj","lat","latitude","lon","longitude","accuracy","alt","altitude","alt_accuracy","altitudeAccuracy","speed","heading","local_date","toLocaleString","position_error","show_alert","alert","Interval","intervalId","reportInterval","handleTimer","max_intervals","n_intervals","clearTimer","setInterval","clearInterval","resetTimer","_toPairs","pairs","es_toPairs","XAny","_xany","es_any","DebugTitle","spinnerComponentOptions","graph","debugTitle","fullscreen","debug","spinnerClass","cube","color","circle","dot","coveringSpinner","visibility","display","justifyContent","alignItems","components_Loading","targetComponents","_ref3$display","_ref3$color","parent_className","parent_style","overlay_style","_ref3$show_initially","show_initially","_ref3$type","spinnerType","_ref3$delay_hide","delay_hide","_ref3$delay_show","delay_show","target_components","custom_spinner","useSelector","stringPath","loadingChildren","toPairs","load","showSpinner","setShowSpinner","dismissTimer","showTimer","containerStyle","Spinner","getSpinner","Location","onLocationChange","_this2","pathname","propsToSet","checkExistsUpdateWindowLocation","fieldName","propVal","pathnameUpdated","hrefUpdated","hashUpdated","searchUpdated","searchVal","hashVal","propsToChange","History","dispatchChangeEvent","markdown","RealMarkdown","Markdown","_ref$mathjax","_ref$dangerously_allo","dangerously_allow_html","_ref$dedent","dedent","radioitems_options","RadioItems","radioitems","rangeSlider","sliders_options","sliders","RealRangeSlider","RangeSlider","_ref$verticalHeight","verticalHeight","_ref$allow_direct_inp","allow_direct_input","isInteger","RealSlider","Slider","drag_value","mappedValue","mappedDragValue","mappedSetProps","newProps","mappedProps","MemStore","_modified","setModified","WebStore","storage","_storage","getItem","setItem","removeItem","Store","storage_type","_backstore","localStorage","sessionStorage","onStorageChange","oldValue","modified_timestamp","getModified","old","clear_data","tabs_options","tabs","components_Tab","disabled_style","EnhancedTab","selected_className","selected_style","selectHandler","_ref$disabled_style","disabled_className","labelDisplay","rawPath","tabStyle","tabClassNames","_toConsumableArray","Tabs","EnhancedTabs","selectedTab","_ref2$mobile_breakpoi","mobile_breakpoint","_ref2$colors","primary","background","_ref2$vertical","vertical","initializedRef","isAboveBreakpoint","setIsAboveBreakpoint","parseChildrenToArray","valueOrDefault","_firstChildren$value","getLayout","mediaQuery","matchMedia","matches","handler","_childProps$style","childProps","flex","selectedTabContent","tabContainerClassNames","tabContentClassNames","content_className","tabParentClassNames","cssVars","content_style","dashChildrenUpdate","components_Tabs","textarea_options","css_textarea","textAreaProps","Textarea","required","autoFocus","components_Textarea","tooltip_options","tooltip","components_Tooltip","_ref$show","show","_ref$targetable","targetable","_ref$direction","_ref$border_color","border_color","_ref$background_color","background_color","_ref$className","_ref$zindex","zindex","_ref$loading_text","loading_text","bbox","show_tooltip","is_loading","x0","x1","y0","y1","dcc_options","dcc"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"dash_core_components.js","mappings":"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","sources":["webpack:///webpack/runtime/create fake namespace object","webpack:///webpack/runtime/load script","webpack:///./node_modules/@plotly/dash-component-plugins/dist/index.js","webpack:///./node_modules/assert/build/assert.js","webpack:///./node_modules/assert/build/internal/assert/assertion_error.js","webpack:///./node_modules/assert/build/internal/errors.js","webpack:///./node_modules/assert/build/internal/util/comparisons.js","webpack:///./src/fragments/Graph.privateprops.js","webpack:///./src/components/Graph.react.js","webpack:///./src/utils/LazyLoader/graph.js","webpack:///./src/utils/LazyLoader/plotly.js","webpack:///./src/utils/LazyLoader/upload.js","webpack:///./src/components/Upload.react.js","webpack:///./src/utils/LoadingElement.js","webpack:///./src/utils/LazyLoader/dropdown.ts","webpack:///./src/components/Dropdown.tsx","webpack:///./node_modules/fast-isnumeric/index.js","webpack:///./src/components/css/input.css?ceae","webpack:///./src/components/Input.tsx","webpack:///./src/components/Link.tsx","webpack:///./src/types.ts","webpack:///./src/utils/LazyLoader/third-party/mathjax.ts","webpack:///./src/utils/_LoadingElement.tsx","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///../src/timer.js","webpack:///../src/domHelpers.js","webpack:///../src/createGridComponent.js","webpack:///../src/createListComponent.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///../src/VariableSizeList.js","webpack:///./src/components/css/optionslist.css?1ebf","webpack:///./src/utils/optionRendering.tsx","webpack:///./src/utils/optionTypes.ts","webpack:///./node_modules/call-bind-apply-helpers/actualApply.js","webpack:///./node_modules/call-bind-apply-helpers/applyBind.js","webpack:///./node_modules/call-bind-apply-helpers/functionApply.js","webpack:///./node_modules/call-bind-apply-helpers/functionCall.js","webpack:///./node_modules/call-bind-apply-helpers/index.js","webpack:///./node_modules/call-bind-apply-helpers/reflectApply.js","webpack:///./node_modules/call-bind/callBound.js","webpack:///./node_modules/call-bind/index.js","webpack:///./node_modules/call-bound/index.js","webpack:///./node_modules/console-browserify/index.js","webpack:///./src/components/css/button.css","webpack:///./src/components/css/checklist.css","webpack:///./src/components/css/dcc.css","webpack:///./src/components/css/input.css","webpack:///./src/components/css/optionslist.css","webpack:///./src/components/css/radioitems.css","webpack:///./src/components/css/sliders.css","webpack:///./src/components/css/tabs.css","webpack:///./src/components/css/textarea.css","webpack:///./src/components/css/tooltip.css","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack:///./node_modules/define-data-property/index.js","webpack:///./node_modules/define-properties/index.js","webpack:///./node_modules/dunder-proto/get.js","webpack:///./node_modules/es-define-property/index.js","webpack:///./node_modules/es-errors/eval.js","webpack:///./node_modules/es-errors/index.js","webpack:///./node_modules/es-errors/range.js","webpack:///./node_modules/es-errors/ref.js","webpack:///./node_modules/es-errors/syntax.js","webpack:///./node_modules/es-errors/type.js","webpack:///./node_modules/es-errors/uri.js","webpack:///./node_modules/es-object-atoms/index.js","webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./node_modules/for-each/index.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/get-intrinsic/index.js","webpack:///./node_modules/get-proto/Object.getPrototypeOf.js","webpack:///./node_modules/get-proto/Reflect.getPrototypeOf.js","webpack:///./node_modules/get-proto/index.js","webpack:///./node_modules/gopd/gOPD.js","webpack:///./node_modules/gopd/index.js","webpack:///./node_modules/has-property-descriptors/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/has-tostringtag/shams.js","webpack:///./node_modules/hasown/index.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/is-arguments/index.js","webpack:///./node_modules/is-callable/index.js","webpack:///./node_modules/is-generator-function/index.js","webpack:///./node_modules/is-nan/implementation.js","webpack:///./node_modules/is-nan/index.js","webpack:///./node_modules/is-nan/polyfill.js","webpack:///./node_modules/is-nan/shim.js","webpack:///./node_modules/is-regex/index.js","webpack:///./node_modules/is-string-blank/index.js","webpack:///./node_modules/is-typed-array/index.js","webpack:///./node_modules/math-intrinsics/abs.js","webpack:///./node_modules/math-intrinsics/floor.js","webpack:///./node_modules/math-intrinsics/isNaN.js","webpack:///./node_modules/math-intrinsics/max.js","webpack:///./node_modules/math-intrinsics/min.js","webpack:///./node_modules/math-intrinsics/pow.js","webpack:///./node_modules/math-intrinsics/round.js","webpack:///./node_modules/math-intrinsics/sign.js","webpack:///./node_modules/object-is/implementation.js","webpack:///./node_modules/object-is/index.js","webpack:///./node_modules/object-is/polyfill.js","webpack:///./node_modules/object-is/shim.js","webpack:///./node_modules/object-keys/implementation.js","webpack:///./node_modules/object-keys/index.js","webpack:///./node_modules/object-keys/isArguments.js","webpack:///./node_modules/object.assign/implementation.js","webpack:///./node_modules/object.assign/polyfill.js","webpack:///./node_modules/possible-typed-array-names/index.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/safe-regex-test/index.js","webpack:///./node_modules/set-function-length/index.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///./node_modules/uniqid/index.js","webpack:///./node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/util/support/types.js","webpack:///./node_modules/util/util.js","webpack:///./node_modules/which-typed-array/index.js","webpack:///== undefined) {\\n props.key = '' + maybeKey;\\n }\\n if (children === null || children === undefined) {\\n return React.createElement(type, props);\\n }\\n return Array.isArray(children)\\n ","webpack:///external window \"PropTypes\"","webpack:///external window \"React\"","webpack:///external window \"ReactDOM\"","webpack:///./node_modules/available-typed-arrays/index.js","webpack:///./node_modules/date-fns/_lib/defaultOptions.js","webpack:///./node_modules/date-fns/_lib/format/longFormatters.js","webpack:///./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","webpack:///./node_modules/date-fns/_lib/normalizeDates.js","webpack:///./node_modules/date-fns/_lib/protectedTokens.js","webpack:///./node_modules/date-fns/constants.js","webpack:///./node_modules/date-fns/constructFrom.js","webpack:///./node_modules/date-fns/differenceInCalendarDays.js","webpack:///./node_modules/date-fns/getDayOfYear.js","webpack:///./node_modules/date-fns/startOfYear.js","webpack:///./node_modules/date-fns/_lib/addLeadingZeros.js","webpack:///./node_modules/date-fns/_lib/format/lightFormatters.js","webpack:///./node_modules/date-fns/_lib/format/formatters.js","webpack:///./node_modules/date-fns/format.js","webpack:///./node_modules/date-fns/startOfISOWeekYear.js","webpack:///./node_modules/date-fns/getISOWeek.js","webpack:///./node_modules/date-fns/getISOWeekYear.js","webpack:///./node_modules/date-fns/startOfWeekYear.js","webpack:///./node_modules/date-fns/getWeek.js","webpack:///./node_modules/date-fns/getWeekYear.js","webpack:///./node_modules/date-fns/isDate.js","webpack:///./node_modules/date-fns/isValid.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/formatDistance.js","webpack:///./node_modules/date-fns/locale/_lib/buildFormatLongFn.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/formatLong.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/formatRelative.js","webpack:///./node_modules/date-fns/locale/_lib/buildLocalizeFn.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/localize.js","webpack:///./node_modules/date-fns/locale/_lib/buildMatchFn.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/match.js","webpack:///./node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","webpack:///./node_modules/date-fns/locale/en-US.js","webpack:///./node_modules/date-fns/parseISO.js","webpack:///./node_modules/date-fns/startOfDay.js","webpack:///./node_modules/date-fns/startOfISOWeek.js","webpack:///./node_modules/date-fns/startOfWeek.js","webpack:///./node_modules/date-fns/toDate.js","webpack:///./node_modules/generator-function/index.js","webpack:///./node_modules/ramda/es/append.js","webpack:///./node_modules/ramda/es/internal/_concat.js","webpack:///./node_modules/ramda/es/concat.js","webpack:///./node_modules/ramda/es/internal/_arrayFromIterator.js","webpack:///./node_modules/ramda/es/internal/_includesWith.js","webpack:///./node_modules/ramda/es/internal/_objectIs.js","webpack:///./node_modules/ramda/es/internal/_equals.js","webpack:///./node_modules/ramda/es/internal/_functionName.js","webpack:///./node_modules/ramda/es/equals.js","webpack:///./node_modules/ramda/es/internal/_xfilter.js","webpack:///./node_modules/ramda/es/filter.js","webpack:///./node_modules/ramda/es/internal/_arrayReduce.js","webpack:///./node_modules/ramda/es/internal/_isMap.js","webpack:///./node_modules/ramda/es/internal/_filterMap.js","webpack:///./node_modules/ramda/es/internal/_filter.js","webpack:///./node_modules/ramda/es/hasPath.js","webpack:///./node_modules/ramda/es/has.js","webpack:///./node_modules/ramda/es/includes.js","webpack:///./node_modules/ramda/es/internal/_curry1.js","webpack:///./node_modules/ramda/es/internal/_curry2.js","webpack:///./node_modules/ramda/es/internal/_dispatchable.js","webpack:///./node_modules/ramda/es/internal/_isTransformer.js","webpack:///./node_modules/ramda/es/internal/_has.js","webpack:///./node_modules/ramda/es/internal/_includes.js","webpack:///./node_modules/ramda/es/internal/_indexOf.js","webpack:///./node_modules/ramda/es/internal/_isArguments.js","webpack:///./node_modules/ramda/es/internal/_isArray.js","webpack:///./node_modules/ramda/es/internal/_isFunction.js","webpack:///./node_modules/ramda/es/internal/_isObject.js","webpack:///./node_modules/ramda/es/internal/_isPlaceholder.js","webpack:///./node_modules/ramda/es/internal/_isString.js","webpack:///./node_modules/ramda/es/internal/_xfBase.js","webpack:///./node_modules/ramda/es/isNil.js","webpack:///./node_modules/ramda/es/keys.js","webpack:///./node_modules/ramda/es/omit.js","webpack:///./node_modules/ramda/es/pick.js","webpack:///./node_modules/ramda/es/reject.js","webpack:///./node_modules/ramda/es/internal/_complement.js","webpack:///./node_modules/ramda/es/internal/_map.js","webpack:///./node_modules/ramda/es/internal/_quote.js","webpack:///./node_modules/ramda/es/internal/_toISOString.js","webpack:///./node_modules/ramda/es/internal/_toString.js","webpack:///./node_modules/ramda/es/toString.js","webpack:///./node_modules/ramda/es/type.js","webpack:///./node_modules/ramda/es/internal/_Set.js","webpack:///./node_modules/ramda/es/without.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/concatenation wrap","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/compat","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/runtime/nonce","webpack:///./node_modules/base64-js/index.js","webpack:///./src/components/css/button.css?4110","webpack:///./src/components/Button.tsx","webpack:///./src/components/css/checklist.css?4b9a","webpack:///./src/components/Checklist.tsx","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack:///./node_modules/@fortawesome/free-regular-svg-icons/index.es.js","webpack:///./src/components/Clipboard.react.js","webpack:///./src/components/ConfirmDialog.react.js","webpack:///./src/components/ConfirmDialogProvider.react.js","webpack:///./src/utils/LazyLoader/datePickerRange.ts","webpack:///./src/utils/DatePickerPersistence.ts","webpack:///./src/components/DatePickerRange.tsx","webpack:///./src/utils/LazyLoader/datePickerSingle.ts","webpack:///./src/components/DatePickerSingle.tsx","webpack:///./src/components/Download.react.js","webpack:///./src/components/Geolocation.react.js","webpack:///./src/components/Interval.react.js","webpack:///./node_modules/ramda/es/internal/_toPairs.js","webpack:///./node_modules/ramda/es/toPairs.js","webpack:///./node_modules/ramda/es/internal/_xany.js","webpack:///./node_modules/ramda/es/internal/_reduced.js","webpack:///./node_modules/ramda/es/any.js","webpack:///./src/fragments/Loading/spinners/DebugTitle.tsx","webpack:///./src/components/Loading.tsx","webpack:///./src/fragments/Loading/spinners/GraphSpinner.tsx","webpack:///./src/fragments/Loading/spinners/CubeSpinner.tsx","webpack:///./src/fragments/Loading/spinners/CircleSpinner.tsx","webpack:///./src/fragments/Loading/spinners/DotSpinner.tsx","webpack:///./src/fragments/Loading/spinners/DefaultSpinner.tsx","webpack:///./src/components/Location.react.js","webpack:///./src/utils/LazyLoader/markdown.ts","webpack:///./src/components/Markdown.tsx","webpack:///./src/components/css/radioitems.css?af42","webpack:///./src/components/RadioItems.tsx","webpack:///./src/utils/LazyLoader/rangeSlider.ts","webpack:///./src/components/css/sliders.css?9e50","webpack:///./src/components/RangeSlider.tsx","webpack:///./src/components/Slider.tsx","webpack:///./src/components/Store.react.js","webpack:///./src/components/css/tabs.css?ebc8","webpack:///./src/components/Tab.tsx","webpack:///./src/components/Tabs.tsx","webpack:///./src/components/css/textarea.css?4273","webpack:///./src/components/Textarea.tsx","webpack:///./src/components/css/tooltip.css?1c92","webpack:///./src/components/Tooltip.tsx","webpack:///./src/components/css/dcc.css?95b0"],"sourcesContent":["var getProto = Object.getPrototypeOf;\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; (typeof current == 'object' || typeof current == 'function') && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"dash_core_components:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","!function(e,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],n):\"object\"==typeof exports?exports[\"dash-component-plugins\"]=n(require(\"react\")):e[\"dash-component-plugins\"]=n(e.React)}(window,(function(e){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p=\"\",t(t.s=1)}([function(n,t){n.exports=e},function(e,n,t){\"use strict\";t.r(n),t.d(n,\"asyncDecorator\",(function(){return u})),t.d(n,\"inheritAsyncDecorator\",(function(){return a})),t.d(n,\"isReady\",(function(){return c})),t.d(n,\"History\",(function(){return d}));var r=t(0);function o(e,n,t,r,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void t(e)}a.done?n(c):Promise.resolve(c).then(r,o)}function i(e){return function(){var n=this,t=arguments;return new Promise((function(r,i){var u=e.apply(n,t);function a(e){o(u,r,i,a,c,\"next\",e)}function c(e){o(u,r,i,a,c,\"throw\",e)}a(void 0)}))}}var u=function(e,n){var t,o={isReady:new Promise((function(e){t=e})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(e){return setTimeout(i(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t(!0);case 2:o.isReady=!0;case 3:case\"end\":return e.stop()}}),e)}))),0),e}))}))};return Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return o.isReady}}),o.get},a=function(e,n){Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return c(n)}})},c=function(e){return e&&e._dashprivate_isLazyComponentReady};function f(e,n){for(var t=0;t\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nvar _require = require('./internal/errors'),\n _require$codes = _require.codes,\n ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\nvar AssertionError = require('./internal/assert/assertion_error');\nvar _require2 = require('util/'),\n inspect = _require2.inspect;\nvar _require$types = require('util/').types,\n isPromise = _require$types.isPromise,\n isRegExp = _require$types.isRegExp;\nvar objectAssign = require('object.assign/polyfill')();\nvar objectIs = require('object-is/polyfill')();\nvar RegExpPrototypeTest = require('call-bind/callBound')('RegExp.prototype.test');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\nfunction lazyLoadComparison() {\n var comparison = require('./internal/util/comparisons');\n isDeepEqual = comparison.isDeepEqual;\n isDeepStrictEqual = comparison.isDeepStrictEqual;\n}\n\n// Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\nvar escapeFn = function escapeFn(str) {\n return meta[str.charCodeAt(0)];\n};\nvar warned = false;\n\n// The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {};\n\n// All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new AssertionError(obj);\n}\nfunction fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n if (argsLen === 0) {\n internalMessage = 'Failed';\n } else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if (warned === false) {\n warned = true;\n var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n }\n if (argsLen === 2) operator = '!=';\n }\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? 'fail' : operator,\n stackStartFn: stackStartFn || fail\n };\n if (message !== undefined) {\n errArgs.message = message;\n }\n var err = new AssertionError(errArgs);\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n throw err;\n}\nassert.fail = fail;\n\n// The AssertionError is defined in internal/error.\nassert.AssertionError = AssertionError;\nfunction innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n if (argLen === 0) {\n generatedMessage = true;\n message = 'No value argument passed to `assert.ok()`';\n } else if (message instanceof Error) {\n throw message;\n }\n var err = new AssertionError({\n actual: value,\n expected: true,\n message: message,\n operator: '==',\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n}\n\n// Pure assertion tests whether a value is truthy, as determined\n// by !!value.\nfunction ok() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n innerOk.apply(void 0, [ok, args.length].concat(args));\n}\nassert.ok = ok;\n\n// The equality assertion tests shallow, coercive equality with ==.\n/* eslint-disable no-restricted-properties */\nassert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n // eslint-disable-next-line eqeqeq\n if (actual != expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '==',\n stackStartFn: equal\n });\n }\n};\n\n// The non-equality assertion tests for whether two objects are not\n// equal with !=.\nassert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n // eslint-disable-next-line eqeqeq\n if (actual == expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '!=',\n stackStartFn: notEqual\n });\n }\n};\n\n// The equivalence assertion tests a deep equality relation.\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n if (!isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepEqual',\n stackStartFn: deepEqual\n });\n }\n};\n\n// The non-equivalence assertion tests for any deep inequality.\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n if (isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepEqual',\n stackStartFn: notDeepEqual\n });\n }\n};\n/* eslint-enable */\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n if (!isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepStrictEqual',\n stackStartFn: deepStrictEqual\n });\n }\n};\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n if (isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepStrictEqual',\n stackStartFn: notDeepStrictEqual\n });\n }\n}\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (!objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'strictEqual',\n stackStartFn: strictEqual\n });\n }\n};\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n if (objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notStrictEqual',\n stackStartFn: notStrictEqual\n });\n }\n};\nvar Comparison = /*#__PURE__*/_createClass(function Comparison(obj, keys, actual) {\n var _this = this;\n _classCallCheck(this, Comparison);\n keys.forEach(function (key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && RegExpPrototypeTest(obj[key], actual[key])) {\n _this[key] = actual[key];\n } else {\n _this[key] = obj[key];\n }\n }\n });\n});\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new Comparison(actual, keys);\n var b = new Comparison(expected, keys, actual);\n var err = new AssertionError({\n actual: a,\n expected: b,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\nfunction expectedException(actual, expected, msg, fn) {\n if (typeof expected !== 'function') {\n if (isRegExp(expected)) return RegExpPrototypeTest(expected, actual);\n // assert.doesNotThrow does not accept objects.\n if (arguments.length === 2) {\n throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n }\n\n // Handle primitives properly.\n if (_typeof(actual) !== 'object' || actual === null) {\n var err = new AssertionError({\n actual: actual,\n expected: expected,\n message: msg,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n var keys = Object.keys(expected);\n // Special handle errors to make sure the name and the message are compared\n // as well.\n if (expected instanceof Error) {\n keys.push('name', 'message');\n } else if (keys.length === 0) {\n throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n }\n if (isDeepEqual === undefined) lazyLoadComparison();\n keys.forEach(function (key) {\n if (typeof actual[key] === 'string' && isRegExp(expected[key]) && RegExpPrototypeTest(expected[key], actual[key])) {\n return;\n }\n compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n }\n // Guard instanceof against arrow functions as they don't have a prototype.\n if (expected.prototype !== undefined && actual instanceof expected) {\n return true;\n }\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n return expected.call({}, actual) === true;\n}\nfunction getActual(fn) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n }\n try {\n fn();\n } catch (e) {\n return e;\n }\n return NO_EXCEPTION_SENTINEL;\n}\nfunction checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n\n return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\nfunction waitForActual(promiseFn) {\n return Promise.resolve().then(function () {\n var resultPromise;\n if (typeof promiseFn === 'function') {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn();\n // Fail in case no promise is returned.\n if (!checkIsPromise(resultPromise)) {\n throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n }\n } else if (checkIsPromise(promiseFn)) {\n resultPromise = promiseFn;\n } else {\n throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n }\n return Promise.resolve().then(function () {\n return resultPromise;\n }).then(function () {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function (e) {\n return e;\n });\n });\n}\nfunction expectsError(stackStartFn, actual, error, message) {\n if (typeof error === 'string') {\n if (arguments.length === 4) {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n if (_typeof(actual) === 'object' && actual !== null) {\n if (actual.message === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n }\n } else if (actual === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n }\n message = error;\n error = undefined;\n } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = '';\n if (error && error.name) {\n details += \" (\".concat(error.name, \")\");\n }\n details += message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n if (error && !expectedException(actual, error, message, stackStartFn)) {\n throw actual;\n }\n}\nfunction expectsNoError(stackStartFn, actual, error, message) {\n if (actual === NO_EXCEPTION_SENTINEL) return;\n if (typeof error === 'string') {\n message = error;\n error = undefined;\n }\n if (!error || expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n stackStartFn: stackStartFn\n });\n }\n throw actual;\n}\nassert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\nassert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return waitForActual(promiseFn).then(function (result) {\n return expectsError.apply(void 0, [rejects, result].concat(args));\n });\n};\nassert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\nassert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n return waitForActual(fn).then(function (result) {\n return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n });\n};\nassert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = 'ifError got unwanted exception: ';\n if (_typeof(err) === 'object' && typeof err.message === 'string') {\n if (err.message.length === 0 && err.constructor) {\n message += err.constructor.name;\n } else {\n message += err.message;\n }\n } else {\n message += inspect(err);\n }\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: 'ifError',\n message: message,\n stackStartFn: ifError\n });\n\n // Make sure we actually have a stack trace!\n var origStack = err.stack;\n if (typeof origStack === 'string') {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split('\\n');\n tmp2.shift();\n // Filter all frames existing in err.stack.\n var tmp1 = newErr.stack.split('\\n');\n for (var i = 0; i < tmp2.length; i++) {\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n }\n throw newErr;\n }\n};\n\n// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a871df3dfb8ea663ef5e1f8f62701ec51384ecb\nfunction internalMatch(string, regexp, message, fn, fnName) {\n if (!isRegExp(regexp)) {\n throw new ERR_INVALID_ARG_TYPE('regexp', 'RegExp', regexp);\n }\n var match = fnName === 'match';\n if (typeof string !== 'string' || RegExpPrototypeTest(regexp, string) !== match) {\n if (message instanceof Error) {\n throw message;\n }\n var generatedMessage = !message;\n\n // 'The input was expected to not match the regular expression ' +\n message = message || (typeof string !== 'string' ? 'The \"string\" argument must be of type string. Received type ' + \"\".concat(_typeof(string), \" (\").concat(inspect(string), \")\") : (match ? 'The input did not match the regular expression ' : 'The input was expected to not match the regular expression ') + \"\".concat(inspect(regexp), \". Input:\\n\\n\").concat(inspect(string), \"\\n\"));\n var err = new AssertionError({\n actual: string,\n expected: regexp,\n message: message,\n operator: fnName,\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n}\nassert.match = function match(string, regexp, message) {\n internalMatch(string, regexp, message, match, 'match');\n};\nassert.doesNotMatch = function doesNotMatch(string, regexp, message) {\n internalMatch(string, regexp, message, doesNotMatch, 'doesNotMatch');\n};\n\n// Expose a strict only variant of assert\nfunction strict() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n innerOk.apply(void 0, [strict, args.length].concat(args));\n}\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n\n'use strict';\n\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar _require = require('util/'),\n inspect = _require.inspect;\nvar _require2 = require('../errors'),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE;\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n while (count) {\n str += str;\n count--;\n }\n str += str.substring(0, maxCount - str.length);\n return str;\n}\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n};\n\n// Comparing short primitives should just show === / !== instead of using the\n// diff.\nvar kMaxShortLength = 10;\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = '';\n\n // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n }\n\n // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length;\n // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n }\n // Ignore the first characters.\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n }\n\n // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n var maxLines = Math.max(actualLines.length, expectedLines.length);\n // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n');\n\n // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n }\n // Mark the current line as the last diverging one.\n lastPos = i;\n // Add the expected line to the cache.\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++;\n // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n }\n // Mark the current line as the last diverging one.\n lastPos = i;\n // Add the actual line to the result.\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++;\n // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i];\n // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine);\n // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n }\n // Mark the current line as the last diverging one.\n lastPos = i;\n // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2;\n // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = '';\n // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n }\n // Inspected object to big (Show ~20 rows max)\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\nvar AssertionError = /*#__PURE__*/function (_Error, _inspect$custom) {\n _inherits(AssertionError, _Error);\n var _super = _createSuper(AssertionError);\n function AssertionError(options) {\n var _this;\n _classCallCheck(this, AssertionError);\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n if (message != null) {\n _this = _super.call(this, String(message));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n }\n // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _super.call(this, createErrDiff(actual, expected, operator));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n');\n\n // In case \"actual\" is an object, it should not be reference equal.\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n }\n\n // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n while (res.length > 27) {\n res.pop();\n }\n }\n\n // Only print a single input.\n if (res.length === 1) {\n _this = _super.call(this, \"\".concat(base, \" \").concat(res[0]));\n } else {\n _this = _super.call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\"));\n }\n } else {\n var _res = inspectValue(actual);\n var other = '';\n var knownOperators = kReadableOperator[operator];\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n _this = _super.call(this, \"\".concat(_res).concat(other));\n }\n }\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n }\n // Create error message including the error code in the name.\n _this.stack;\n // Reset the name.\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: _inspect$custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread(_objectSpread({}, ctx), {}, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n return AssertionError;\n}( /*#__PURE__*/_wrapNativeSuper(Error), inspect.custom);\nmodule.exports = AssertionError;","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n/* eslint node-core/alphabetize-errors: \"error\" */\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n\n'use strict';\n\n// The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nvar codes = {};\n\n// Lazy loaded\nvar assert;\nvar util;\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n var NodeError = /*#__PURE__*/function (_Base) {\n _inherits(NodeError, _Base);\n var _super = _createSuper(NodeError);\n function NodeError(arg1, arg2, arg3) {\n var _this;\n _classCallCheck(this, NodeError);\n _this = _super.call(this, getMessage(arg1, arg2, arg3));\n _this.code = code;\n return _this;\n }\n return _createClass(NodeError);\n }(Base);\n codes[code] = NodeError;\n}\n\n// https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n return str.substring(this_len - search.length, this_len) === search;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n if (assert === undefined) assert = require('../assert');\n assert(typeof name === 'string', \"'name' must be a string\");\n\n // determiner: 'must be' or 'must not be'\n var determiner;\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n var msg;\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n // TODO(BridgeAR): Improve the output by showing `null` and similar.\n msg += \". Received type \".concat(_typeof(actual));\n return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n if (util === undefined) util = require('util/');\n var inspected = util.inspect(value);\n if (inspected.length > 128) {\n inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n }\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n var type;\n if (value && value.constructor && value.constructor.name) {\n type = \"instance of \".concat(value.constructor.name);\n } else {\n type = \"type \".concat(_typeof(value));\n }\n return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (assert === undefined) assert = require('../assert');\n assert(args.length > 0, 'At least one arg needs to be specified');\n var msg = 'The ';\n var len = args.length;\n args = args.map(function (a) {\n return \"\\\"\".concat(a, \"\\\"\");\n });\n switch (len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar regexFlagsSupported = /a/g.flags !== undefined;\nvar arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function (value) {\n return array.push(value);\n });\n return array;\n};\nvar arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function (value, key) {\n return array.push([key, value]);\n });\n return array;\n};\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\nvar _require$types = require('util/').types,\n isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n isArrayBufferView = _require$types.isArrayBufferView,\n isDate = _require$types.isDate,\n isMap = _require$types.isMap,\n isRegExp = _require$types.isRegExp,\n isSet = _require$types.isSet,\n isNativeError = _require$types.isNativeError,\n isBoxedPrimitive = _require$types.isBoxedPrimitive,\n isNumberObject = _require$types.isNumberObject,\n isStringObject = _require$types.isStringObject,\n isBooleanObject = _require$types.isBooleanObject,\n isBigIntObject = _require$types.isBigIntObject,\n isSymbolObject = _require$types.isSymbolObject,\n isFloat32Array = _require$types.isFloat32Array,\n isFloat64Array = _require$types.isFloat64Array;\nfunction isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n for (var i = 0; i < key.length; i++) {\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n }\n // The maximum size for an array is 2 ** 32 -1.\n return key.length === 10 && key >= Math.pow(2, 32);\n}\nfunction getOwnNonIndexProperties(value) {\n return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n}\n\n// Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n var x = a.length;\n var y = b.length;\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3;\n\n// Check if they have the same source and flags\nfunction areSimilarRegExps(a, b) {\n return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\nfunction areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n for (var offset = 0; offset < a.byteLength; offset++) {\n if (a[offset] !== b[offset]) {\n return false;\n }\n }\n return true;\n}\nfunction areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\nfunction areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\nfunction isEqualBoxedPrimitive(val1, val2) {\n if (isNumberObject(val1)) {\n return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n }\n if (isStringObject(val1)) {\n return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n }\n if (isBooleanObject(val1)) {\n return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n }\n if (isBigIntObject(val1)) {\n return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n }\n return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n}\n\n// Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? objectIs(val1, val2) : true;\n }\n\n // Check more closely if val1 and val2 are equal.\n if (strict) {\n if (_typeof(val1) !== 'object') {\n return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n }\n if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n return false;\n }\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n return false;\n }\n } else {\n if (val1 === null || _typeof(val1) !== 'object') {\n if (val2 === null || _typeof(val2) !== 'object') {\n // eslint-disable-next-line eqeqeq\n return val1 == val2;\n }\n return false;\n }\n if (val2 === null || _typeof(val2) !== 'object') {\n return false;\n }\n }\n var val1Tag = objectToString(val1);\n var val2Tag = objectToString(val2);\n if (val1Tag !== val2Tag) {\n return false;\n }\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) {\n return false;\n }\n var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n if (keys1.length !== keys2.length) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n }\n // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n if (val1Tag === '[object Object]') {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n return false;\n }\n }\n if (isDate(val1)) {\n if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n return false;\n }\n } else if (isRegExp(val1)) {\n if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n return false;\n }\n } else if (isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) {\n return false;\n }\n } else if (isArrayBufferView(val1)) {\n if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n if (!areSimilarFloatArrays(val1, val2)) {\n return false;\n }\n } else if (!areSimilarTypedArrays(val1, val2)) {\n return false;\n }\n // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n if (_keys.length !== _keys2.length) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n } else if (isSet(val1)) {\n if (!isSet(val2) || val1.size !== val2.size) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kIsSet);\n } else if (isMap(val1)) {\n if (!isMap(val2) || val1.size !== val2.size) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kIsMap);\n } else if (isAnyArrayBuffer(val1)) {\n if (!areEqualArrayBuffers(val1, val2)) {\n return false;\n }\n } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n return false;\n }\n return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\nfunction getEnumerables(val, keys) {\n return keys.filter(function (k) {\n return propertyIsEnumerable(val, k);\n });\n}\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2);\n\n // The pair must have the same number of owned properties.\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n }\n\n // Cheap key test\n var i = 0;\n for (; i < aKeys.length; i++) {\n if (!hasOwnProperty(val2, aKeys[i])) {\n return false;\n }\n }\n if (strict && arguments.length === 5) {\n var symbolKeysA = objectGetOwnPropertySymbols(val1);\n if (symbolKeysA.length !== 0) {\n var count = 0;\n for (i = 0; i < symbolKeysA.length; i++) {\n var key = symbolKeysA[i];\n if (propertyIsEnumerable(val1, key)) {\n if (!propertyIsEnumerable(val2, key)) {\n return false;\n }\n aKeys.push(key);\n count++;\n } else if (propertyIsEnumerable(val2, key)) {\n return false;\n }\n }\n var symbolKeysB = objectGetOwnPropertySymbols(val2);\n if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n return false;\n }\n } else {\n var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n return false;\n }\n }\n }\n if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n return true;\n }\n\n // Use memos to handle cycles.\n if (memos === undefined) {\n memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n } else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n if (val2MemoB !== undefined) {\n return val2MemoA === val2MemoB;\n }\n }\n memos.position++;\n }\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\nfunction setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = arrayFromSet(set);\n for (var i = 0; i < setValues.length; i++) {\n var val2 = setValues[i];\n if (innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n return false;\n}\n\n// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\nfunction findLooseMatchingPrimitives(prim) {\n switch (_typeof(prim)) {\n case 'undefined':\n return null;\n case 'object':\n // Only pass in null as object!\n return undefined;\n case 'symbol':\n return false;\n case 'string':\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n case 'number':\n if (numberIsNaN(prim)) {\n return false;\n }\n }\n return true;\n}\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) {\n return altValue;\n }\n var curB = b.get(altValue);\n if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n return false;\n }\n return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\nfunction setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = arrayFromSet(a);\n for (var i = 0; i < aValues.length; i++) {\n var val = aValues[i];\n // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n if (_typeof(val) === 'object' && val !== null) {\n if (set === null) {\n set = new Set();\n }\n // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false;\n\n // Fast path to detect missing string, symbol, undefined and null values.\n if (!setMightHaveLoosePrim(a, b, val)) {\n return false;\n }\n if (set === null) {\n set = new Set();\n }\n set.add(val);\n }\n }\n if (set !== null) {\n var bValues = arrayFromSet(b);\n for (var _i = 0; _i < bValues.length; _i++) {\n var _val = bValues[_i];\n // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n if (_typeof(_val) === 'object' && _val !== null) {\n if (!setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n return false;\n }\n }\n return set.size === 0;\n }\n return true;\n}\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = arrayFromSet(set);\n for (var i = 0; i < setValues.length; i++) {\n var key2 = setValues[i];\n if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n return false;\n}\nfunction mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = arrayFromMap(a);\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n key = _aEntries$i[0],\n item1 = _aEntries$i[1];\n if (_typeof(key) === 'object' && key !== null) {\n if (set === null) {\n set = new Set();\n }\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false;\n // Fast path to detect missing string, symbol, undefined and null\n // keys.\n if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n if (set === null) {\n set = new Set();\n }\n set.add(key);\n }\n }\n }\n if (set !== null) {\n var bEntries = arrayFromMap(b);\n for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n _key = _bEntries$_i[0],\n item = _bEntries$_i[1];\n if (_typeof(_key) === 'object' && _key !== null) {\n if (!mapHasEqualEntry(set, a, _key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(_key) || !innerDeepEqual(a.get(_key), item, false, memo)) && !mapHasEqualEntry(set, a, _key, item, false, memo)) {\n return false;\n }\n }\n return set.size === 0;\n }\n return true;\n}\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n if (iterationType === kIsSet) {\n if (!setEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsMap) {\n if (!mapEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsArray) {\n for (; i < a.length; i++) {\n if (hasOwnProperty(a, i)) {\n if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n return false;\n }\n } else if (hasOwnProperty(b, i)) {\n return false;\n } else {\n // Array is sparse.\n var keysA = Object.keys(a);\n for (; i < keysA.length; i++) {\n var key = keysA[i];\n if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n return false;\n }\n }\n if (keysA.length !== Object.keys(b).length) {\n return false;\n }\n return true;\n }\n }\n }\n\n // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n for (i = 0; i < keys.length; i++) {\n var _key2 = keys[i];\n if (!innerDeepEqual(a[_key2], b[_key2], strict, memos)) {\n return false;\n }\n }\n return true;\n}\nfunction isDeepEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kLoose);\n}\nfunction isDeepStrictEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kStrict);\n}\nmodule.exports = {\n isDeepEqual: isDeepEqual,\n isDeepStrictEqual: isDeepStrictEqual\n};","import PropTypes from 'prop-types';\n\nexport const privatePropTypes = {\n _dashprivate_transformConfig: PropTypes.func,\n _dashprivate_transformFigure: PropTypes.func,\n _dashprivate_onFigureModified: PropTypes.func,\n};\n\nexport const privateDefaultProps = {\n _dashprivate_transformConfig: c => c,\n _dashprivate_transformFigure: f => f,\n _dashprivate_onFigureModified: f => f,\n};\n","import React, {Component, memo, Suspense} from 'react';\nimport PropTypes from 'prop-types';\n\nimport {asyncDecorator} from '@plotly/dash-component-plugins';\nimport graph from '../utils/LazyLoader/graph';\nimport plotly from '../utils/LazyLoader/plotly';\nimport lazyLoadMathJax from '../utils/LazyLoader/third-party/mathjax';\nimport {\n privatePropTypes,\n privateDefaultProps,\n} from '../fragments/Graph.privateprops';\n\nconst EMPTY_DATA = [];\n\n/**\n * Graph can be used to render any plotly.js-powered data visualization.\n *\n * You can define callbacks based on user interaction with Graphs such as\n * hovering, clicking or selecting\n */\nclass PlotlyGraph extends Component {\n constructor(props) {\n super(props);\n\n if (props.mathjax) {\n PlotlyGraph._loadMathjax = true;\n }\n\n this.state = {\n prependData: [],\n extendData: [],\n };\n\n this.clearState = this.clearState.bind(this);\n }\n\n componentDidMount() {\n if (this.props.prependData) {\n this.setState({\n prependData: [this.props.prependData],\n });\n }\n if (this.props.extendData) {\n this.setState({\n extendData: [this.props.extendData],\n });\n }\n }\n\n componentWillUnmount() {\n this.setState({\n prependData: [],\n extendData: [],\n });\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n let prependData = this.state.prependData.slice(0);\n\n if (this.props.figure !== nextProps.figure) {\n prependData = EMPTY_DATA;\n }\n\n if (\n nextProps.prependData &&\n this.props.prependData !== nextProps.prependData\n ) {\n prependData.push(nextProps.prependData);\n } else {\n prependData = EMPTY_DATA;\n }\n\n if (prependData !== EMPTY_DATA) {\n this.setState({\n prependData,\n });\n }\n\n let extendData = this.state.extendData.slice(0);\n\n if (this.props.figure !== nextProps.figure) {\n extendData = EMPTY_DATA;\n }\n\n if (\n nextProps.extendData &&\n this.props.extendData !== nextProps.extendData\n ) {\n extendData.push(nextProps.extendData);\n } else {\n extendData = EMPTY_DATA;\n }\n\n if (extendData !== EMPTY_DATA) {\n this.setState({\n extendData,\n });\n }\n }\n\n clearState(dataKey) {\n this.setState(props => {\n var data = props[dataKey];\n const res =\n data && data.length\n ? {\n [dataKey]: EMPTY_DATA,\n }\n : undefined;\n\n return res;\n });\n }\n\n render() {\n return (\n \n );\n }\n}\n\nconst RealPlotlyGraph = asyncDecorator(PlotlyGraph, () =>\n Promise.all([\n graph(),\n plotly(),\n PlotlyGraph._loadMathjax ? lazyLoadMathJax() : undefined,\n ]).then(([graph]) => graph)\n);\n\nconst ControlledPlotlyGraph = memo(props => {\n const {className, id} = props;\n\n const extendedClassName = className\n ? 'dash-graph ' + className\n : 'dash-graph';\n\n return (\n \n }\n >\n \n \n );\n});\n\nControlledPlotlyGraph.displayName = 'ControlledPlotlyGraph';\n\nPlotlyGraph.propTypes = {\n ...privatePropTypes,\n\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * If True, the Plotly.js plot will be fully responsive to window resize\n * and parent element resize event. This is achieved by overriding\n * `config.responsive` to True, `figure.layout.autosize` to True and unsetting\n * `figure.layout.height` and `figure.layout.width`.\n * If False, the Plotly.js plot not be responsive to window resize and\n * parent element resize event. This is achieved by overriding `config.responsive`\n * to False and `figure.layout.autosize` to False.\n * If 'auto' (default), the Graph will determine if the Plotly.js plot can be made fully\n * responsive (True) or not (False) based on the values in `config.responsive`,\n * `figure.layout.autosize`, `figure.layout.height`, `figure.layout.width`.\n * This is the legacy behavior of the Graph component.\n *\n * Needs to be combined with appropriate dimension / styling through the `style` prop\n * to fully take effect.\n */\n responsive: PropTypes.oneOf([true, false, 'auto']),\n\n /**\n * Data from latest click event. Read-only.\n */\n clickData: PropTypes.object,\n\n /**\n * Data from latest click annotation event. Read-only.\n */\n clickAnnotationData: PropTypes.object,\n\n /**\n * Data from latest hover event. Read-only.\n */\n hoverData: PropTypes.object,\n\n /**\n * If True, `clear_on_unhover` will clear the `hoverData` property\n * when the user \"unhovers\" from a point.\n * If False, then the `hoverData` property will be equal to the\n * data from the last point that was hovered over.\n */\n clear_on_unhover: PropTypes.bool,\n\n /**\n * Data from latest select event. Read-only.\n */\n selectedData: PropTypes.object,\n\n /**\n * Data from latest relayout event which occurs\n * when the user zooms or pans on the plot or other\n * layout-level edits. Has the form `{: }`\n * describing the changes made. Read-only.\n */\n relayoutData: PropTypes.object,\n\n /**\n * Data that should be appended to existing traces. Has the form\n * `[updateData, traceIndices, maxPoints]`, where `updateData` is an object\n * containing the data to extend, `traceIndices` (optional) is an array of\n * trace indices that should be extended, and `maxPoints` (optional) is\n * either an integer defining the maximum number of points allowed or an\n * object with key:value pairs matching `updateData`\n * Reference the Plotly.extendTraces API for full usage:\n * https://plotly.com/javascript/plotlyjs-function-reference/#plotlyextendtraces\n */\n extendData: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n\n /**\n * Data that should be prepended to existing traces. Has the form\n * `[updateData, traceIndices, maxPoints]`, where `updateData` is an object\n * containing the data to prepend, `traceIndices` (optional) is an array of\n * trace indices that should be prepended, and `maxPoints` (optional) is\n * either an integer defining the maximum number of points allowed or an\n * object with key:value pairs matching `updateData`\n * Reference the Plotly.prependTraces API for full usage:\n * https://plotly.com/javascript/plotlyjs-function-reference/#plotlyprependtraces\n */\n prependData: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n\n /**\n * Data from latest restyle event which occurs\n * when the user toggles a legend item, changes\n * parcoords selections, or other trace-level edits.\n * Has the form `[edits, indices]`, where `edits` is an object\n * `{: }` describing the changes made,\n * and `indices` is an array of trace indices that were edited.\n * Read-only.\n */\n restyleData: PropTypes.array,\n\n /**\n * Plotly `figure` object. See schema:\n * https://plotly.com/javascript/reference\n *\n * `config` is set separately by the `config` property\n */\n figure: PropTypes.exact({\n data: PropTypes.arrayOf(PropTypes.object),\n layout: PropTypes.object,\n frames: PropTypes.arrayOf(PropTypes.object),\n }),\n\n /**\n * Generic style overrides on the plot div\n */\n style: PropTypes.object,\n\n /**\n * className of the parent div\n */\n className: PropTypes.string,\n\n /**\n * If true, loads mathjax v3 (tex-svg) into the page and use it in the graph\n */\n mathjax: PropTypes.bool,\n\n /**\n * Beta: If true, animate between updates using\n * plotly.js's `animate` function\n */\n animate: PropTypes.bool,\n\n /**\n * Beta: Object containing animation settings.\n * Only applies if `animate` is `true`\n */\n animation_options: PropTypes.object,\n\n /**\n * Plotly.js config options.\n * See https://plotly.com/javascript/configuration-options/\n * for more info.\n */\n config: PropTypes.exact({\n /**\n * No interactivity, for export or image generation\n */\n staticPlot: PropTypes.bool,\n\n /**\n * Base URL for a Plotly cloud instance, if `showSendToCloud` is enabled\n */\n plotlyServerURL: PropTypes.string,\n\n /**\n * We can edit titles, move annotations, etc - sets all pieces of `edits`\n * unless a separate `edits` config item overrides individual parts\n */\n editable: PropTypes.bool,\n\n /**\n * Enables moving selections\n */\n editSelection: PropTypes.bool,\n\n /**\n * A set of editable properties\n */\n edits: PropTypes.exact({\n /**\n * The main anchor of the annotation, which is the\n * text (if no arrow) or the arrow (which drags the whole thing leaving\n * the arrow length & direction unchanged)\n */\n annotationPosition: PropTypes.bool,\n\n /**\n * Just for annotations with arrows, change the length and direction of the arrow\n */\n annotationTail: PropTypes.bool,\n\n annotationText: PropTypes.bool,\n\n axisTitleText: PropTypes.bool,\n\n colorbarPosition: PropTypes.bool,\n\n colorbarTitleText: PropTypes.bool,\n\n legendPosition: PropTypes.bool,\n\n /**\n * Edit the trace name fields from the legend\n */\n legendText: PropTypes.bool,\n\n shapePosition: PropTypes.bool,\n\n /**\n * The global `layout.title`\n */\n titleText: PropTypes.bool,\n }),\n\n /**\n * DO autosize once regardless of layout.autosize\n * (use default width or height values otherwise)\n */\n autosizable: PropTypes.bool,\n\n /**\n * Whether to change layout size when the window size changes\n */\n responsive: PropTypes.bool,\n\n /**\n * Set the length of the undo/redo queue\n */\n queueLength: PropTypes.number,\n\n /**\n * If we DO autosize, do we fill the container or the screen?\n */\n fillFrame: PropTypes.bool,\n\n /**\n * If we DO autosize, set the frame margins in percents of plot size\n */\n frameMargins: PropTypes.number,\n\n /**\n * Mousewheel or two-finger scroll zooms the plot\n */\n scrollZoom: PropTypes.bool,\n\n /**\n * Double click interaction (false, 'reset', 'autosize' or 'reset+autosize')\n */\n doubleClick: PropTypes.oneOf([\n false,\n 'reset',\n 'autosize',\n 'reset+autosize',\n ]),\n\n /**\n * Delay for registering a double-click event in ms. The\n * minimum value is 100 and the maximum value is 1000. By\n * default this is 300.\n */\n doubleClickDelay: PropTypes.number,\n\n /**\n * New users see some hints about interactivity\n */\n showTips: PropTypes.bool,\n\n /**\n * Enable axis pan/zoom drag handles\n */\n showAxisDragHandles: PropTypes.bool,\n\n /**\n * Enable direct range entry at the pan/zoom drag points\n * (drag handles must be enabled above)\n */\n showAxisRangeEntryBoxes: PropTypes.bool,\n\n /**\n * Link to open this plot in plotly\n */\n showLink: PropTypes.bool,\n\n /**\n * If we show a link, does it contain data or just link to a plotly file?\n */\n sendData: PropTypes.bool,\n\n /**\n * Text appearing in the sendData link\n */\n linkText: PropTypes.string,\n\n /**\n * Display the mode bar (true, false, or 'hover')\n */\n displayModeBar: PropTypes.oneOf([true, false, 'hover']),\n\n /**\n * Should we include a modebar button to send this data to a\n * Plotly Cloud instance, linked by `plotlyServerURL`.\n * By default this is false.\n */\n showSendToCloud: PropTypes.bool,\n\n /**\n * Should we show a modebar button to send this data to a\n * Plotly Chart Studio plot. If both this and showSendToCloud\n * are selected, only showEditInChartStudio will be\n * honored. By default this is false.\n */\n showEditInChartStudio: PropTypes.bool,\n\n /**\n * Remove mode bar button by name.\n * All modebar button names at https://github.com/plotly/plotly.js/blob/master/src/components/modebar/buttons.js\n * Common names include:\n * sendDataToCloud;\n * (2D) zoom2d, pan2d, select2d, lasso2d, zoomIn2d, zoomOut2d, autoScale2d, resetScale2d;\n * (Cartesian) hoverClosestCartesian, hoverCompareCartesian;\n * (3D) zoom3d, pan3d, orbitRotation, tableRotation, handleDrag3d, resetCameraDefault3d, resetCameraLastSave3d, hoverClosest3d;\n * (Geo) zoomInGeo, zoomOutGeo, resetGeo, hoverClosestGeo;\n * hoverClosestGl2d, hoverClosestPie, toggleHover, resetViews.\n */\n modeBarButtonsToRemove: PropTypes.array,\n\n /**\n * Add mode bar button using config objects\n */\n modeBarButtonsToAdd: PropTypes.array,\n\n /**\n * Fully custom mode bar buttons as nested array,\n * where the outer arrays represents button groups, and\n * the inner arrays have buttons config objects or names of default buttons\n */\n modeBarButtons: PropTypes.any,\n\n /**\n * Modifications to how the toImage modebar button works\n */\n toImageButtonOptions: PropTypes.exact({\n /**\n * The file format to create\n */\n format: PropTypes.oneOf(['jpeg', 'png', 'webp', 'svg']),\n /**\n * The name given to the downloaded file\n */\n filename: PropTypes.string,\n /**\n * Width of the downloaded file, in px\n */\n width: PropTypes.number,\n /**\n * Height of the downloaded file, in px\n */\n height: PropTypes.number,\n /**\n * Extra resolution to give the file after\n * rendering it with the given width and height\n */\n scale: PropTypes.number,\n }),\n\n /**\n * Add the plotly logo on the end of the mode bar\n */\n displaylogo: PropTypes.bool,\n\n /**\n * Add the plotly logo even with no modebar\n */\n watermark: PropTypes.bool,\n\n /**\n * Increase the pixel ratio for Gl plot images\n */\n plotGlPixelRatio: PropTypes.number,\n\n /**\n * URL to topojson files used in geo charts\n */\n topojsonURL: PropTypes.string,\n\n /**\n * Mapbox access token (required to plot mapbox trace types)\n * If using an Mapbox Atlas server, set this option to '',\n * so that plotly.js won't attempt to authenticate to the public Mapbox server.\n */\n mapboxAccessToken: PropTypes.any,\n\n /**\n * The locale to use. Locales may be provided with the plot\n * (`locales` below) or by loading them on the page, see:\n * https://github.com/plotly/plotly.js/blob/master/dist/README.md#to-include-localization\n */\n locale: PropTypes.string,\n\n /**\n * Localization definitions, if you choose to provide them with the\n * plot rather than registering them globally.\n */\n locales: PropTypes.object,\n\n /**\n * Determines whether or not notifier is displayed\n */\n displayNotifier: PropTypes.bool,\n }),\n\n /**\n * Function that updates the state tree.\n */\n setProps: PropTypes.func,\n};\n\nControlledPlotlyGraph.propTypes = PlotlyGraph.propTypes;\n\nPlotlyGraph.defaultProps = {\n ...privateDefaultProps,\n\n clickData: null,\n clickAnnotationData: null,\n hoverData: null,\n selectedData: null,\n relayoutData: null,\n prependData: null,\n extendData: null,\n restyleData: null,\n figure: {\n data: [],\n layout: {},\n frames: [],\n },\n responsive: 'auto',\n mathjax: false,\n animate: false,\n animation_options: {\n frame: {\n redraw: false,\n },\n transition: {\n duration: 750,\n ease: 'cubic-in-out',\n },\n },\n clear_on_unhover: false,\n config: {},\n};\n\nexport const graphPropTypes = PlotlyGraph.propTypes;\nexport const graphDefaultProps = PlotlyGraph.defaultProps;\n\nexport default PlotlyGraph;\n","export default () => import(/* webpackChunkName: \"graph\" */ '../../fragments/Graph.react');\n\n","export default () => {\n return Promise.resolve(window.Plotly || new Promise((resolve, reject) => {\n /* eslint-disable prefer-const */\n let timeoutId;\n\n const element = document.createElement('script');\n element.src = window._dashPlotlyJSURL;\n element.async = true;\n element.onload = () => {\n clearTimeout(timeoutId);\n resolve();\n };\n element.onerror = (error) => {\n clearTimeout(timeoutId);\n reject(error);\n };\n\n timeoutId = setTimeout(() => {\n element.src = '';\n reject(new Error(`plotly.js did not load after 30 seconds`));\n }, 3 * 10 * 1000);\n\n document.querySelector('body').appendChild(element);\n }));\n}\n","export default () => import(/* webpackChunkName: \"upload\" */ '../../fragments/Upload.react');\n","import PropTypes from 'prop-types';\nimport React, {Component, lazy, Suspense} from 'react';\nimport upload from '../utils/LazyLoader/upload';\n\nconst RealUpload = lazy(upload);\n\n/**\n * Upload components allow your app to accept user-uploaded files via drag'n'drop\n */\nexport default class Upload extends Component {\n render() {\n return (\n \n \n \n );\n }\n}\n\nUpload.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * The contents of the uploaded file as a binary string\n */\n contents: PropTypes.oneOfType([\n /**\n * If `multiple` is `false`, then the contents will be a string\n */\n PropTypes.string,\n\n /**\n * If `multiple` is `true`, then the contents will be a list of strings\n */\n PropTypes.arrayOf(PropTypes.string),\n ]),\n\n /**\n * The name of the file(s) that was(were) uploaded.\n * Note that this does not include the path of the file\n * (for security reasons).\n */\n filename: PropTypes.oneOfType([\n /**\n * If `multiple` is `false`, then the contents will be a string\n */\n PropTypes.string,\n\n /**\n * If `multiple` is `true`, then the contents will be a list of strings\n */\n PropTypes.arrayOf(PropTypes.string),\n ]),\n\n /**\n * The last modified date of the file that was uploaded in unix time\n * (seconds since 1970).\n */\n last_modified: PropTypes.oneOfType([\n /**\n * If `multiple` is `false`, then the contents will be a number\n */\n PropTypes.number,\n\n /**\n * If `multiple` is `true`, then the contents will be a list of numbers\n */\n PropTypes.arrayOf(PropTypes.number),\n ]),\n\n /**\n * Contents of the upload component\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\n /**\n * Allow specific types of files.\n * See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across\n * platforms. CSV files, for example, are reported as text/plain\n * under macOS but as application/vnd.ms-excel under Windows.\n * In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n */\n accept: PropTypes.string,\n\n /**\n * Enable/disable the upload component entirely\n */\n disabled: PropTypes.bool,\n\n /**\n * Disallow clicking on the component to open the file dialog\n */\n disable_click: PropTypes.bool,\n\n /**\n * Maximum file size in bytes. If `-1`, then infinite\n */\n max_size: PropTypes.number,\n\n /**\n * Minimum file size in bytes\n */\n min_size: PropTypes.number,\n\n /**\n * Allow dropping multiple files.\n * When true, enables folder drag-and-drop support.\n * The folder hierarchy is preserved in filenames (e.g., 'folder/subfolder/file.txt').\n * Note: Folder drag-and-drop is supported in Chrome, Edge, and Opera.\n */\n multiple: PropTypes.bool,\n\n /**\n * Enable folder selection in the file picker dialog.\n * When true with multiple=True, the file picker allows selecting folders instead of files.\n * Note: When folder selection is enabled, individual files cannot be selected via the button.\n * Use separate Upload components if you need both file and folder selection options.\n * Folder selection is supported in Chrome, Edge, and Opera.\n */\n enable_folder_selection: PropTypes.bool,\n\n /**\n * HTML class name of the component\n */\n className: PropTypes.string,\n\n /**\n * HTML class name of the component while active\n */\n className_active: PropTypes.string,\n\n /**\n * HTML class name of the component if rejected\n */\n className_reject: PropTypes.string,\n\n /**\n * HTML class name of the component if disabled\n */\n className_disabled: PropTypes.string,\n\n /**\n * CSS styles to apply\n */\n style: PropTypes.object,\n\n /**\n * CSS styles to apply while active\n */\n style_active: PropTypes.object,\n\n /**\n * CSS styles if rejected\n */\n style_reject: PropTypes.object,\n\n /**\n * CSS styles if disabled\n */\n style_disabled: PropTypes.object,\n\n /**\n * Dash-supplied function for updating props\n */\n setProps: PropTypes.func,\n};\n\nUpload.defaultProps = {\n disabled: false,\n disable_click: false,\n max_size: -1,\n min_size: 0,\n multiple: false,\n enable_folder_selection: false,\n style: {},\n style_active: {\n borderStyle: 'solid',\n borderColor: '#6c6',\n backgroundColor: '#eee',\n },\n style_disabled: {\n opacity: 0.5,\n },\n style_reject: {\n borderStyle: 'solid',\n borderColor: '#c66',\n backgroundColor: '#eee',\n },\n};\n\nexport const propTypes = Upload.propTypes;\nexport const defaultProps = Upload.defaultProps;\n","import React from 'react';\n\n/**\n * The loading element is used to add `data-dash-is-loading` attribute\n * on html elements. This is used to customize CSS when a component is\n * loading.\n *\n * See: https://dash.plotly.com/loading-states#check-loading-states-from-components\n */\n// eslint-disable-next-line react/prop-types\nfunction LoadingElement({elementType = 'div', ...props}, ref) {\n const ctx = window.dash_component_api.useDashContext();\n const loading = ctx.useLoading();\n\n const givenProps = {\n ...props,\n ref,\n };\n if (loading) {\n givenProps['data-dash-is-loading'] = true;\n }\n\n return React.createElement(elementType, givenProps);\n}\n\nexport default React.forwardRef(LoadingElement);\n","export default () =>\n import(/* webpackChunkName: \"dropdown\" */ '../../fragments/Dropdown');\n","import React, {lazy, Suspense} from 'react';\nimport {DropdownProps, PersistedProps, PersistenceTypes} from '../types';\nimport dropdown from '../utils/LazyLoader/dropdown';\n\nconst RealDropdown = lazy(dropdown);\n\nconst defaultLabels: DropdownProps['labels'] = {\n select_all: 'Select All',\n deselect_all: 'Deselect All',\n selected_count: '{num_selected} selected',\n search: 'Search',\n clear_search: 'Clear search',\n clear_selection: 'Clear selection',\n no_options_found: 'No options found',\n};\n\n/**\n * Dropdown is an interactive dropdown element for selecting one or more\n * items.\n * The values and labels of the dropdown items are specified in the `options`\n * property and the selected item(s) are specified with the `value` property.\n *\n * Use a dropdown when you have many options (more than 5) or when you are\n * constrained for space. Otherwise, you can use RadioItems or a Checklist,\n * which have the benefit of showing the users all of the items at once.\n */\nexport default function Dropdown({\n clearable = true,\n disabled = false,\n multi = false,\n searchable = true,\n labels = defaultLabels,\n optionHeight = 'auto',\n // eslint-disable-next-line no-magic-numbers\n maxHeight = 200,\n closeOnSelect = !multi,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n ...props\n}: DropdownProps) {\n labels = {\n ...defaultLabels,\n ...labels,\n };\n\n return (\n \n \n \n );\n}\n\nDropdown.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","/**\n * inspired by is-number \n * but significantly simplified and sped up by ignoring number and string constructors\n * ie these return false:\n * new Number(1)\n * new String('1')\n */\n\n'use strict';\n\nvar allBlankCharCodes = require('is-string-blank');\n\nmodule.exports = function(n) {\n var type = typeof n;\n if(type === 'string') {\n var original = n;\n n = +n;\n // whitespace strings cast to zero - filter them out\n if(n===0 && allBlankCharCodes(original)) return false;\n }\n else if(type !== 'number') return false;\n\n return n - n < 1;\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./input.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./input.css\";\n export default content && content.locals ? content.locals : undefined;\n","import {pick} from 'ramda';\nimport React, {\n InputHTMLAttributes,\n KeyboardEvent,\n KeyboardEventHandler,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport uniqid from 'uniqid';\nimport fastIsNumeric from 'fast-isnumeric';\nimport LoadingElement from '../utils/_LoadingElement';\nimport {\n HTMLInputTypes,\n InputProps,\n PersistedProps,\n PersistenceTypes,\n} from '../types';\nimport './css/input.css';\n\nconst isNumeric = (val: unknown): val is number => fastIsNumeric(val);\nconst convert = (val: unknown) => (isNumeric(val) ? +val : NaN);\n\nconst isEquivalent = (v1: number, v2: number) =>\n v1 === v2 || (isNaN(v1) && isNaN(v2));\n\nconst inputProps = [\n 'type',\n 'placeholder',\n 'inputMode',\n 'autoComplete',\n 'readOnly',\n 'required',\n 'autoFocus',\n 'list',\n 'multiple',\n 'spellCheck',\n 'name',\n 'min',\n 'max',\n 'step',\n 'minLength',\n 'maxLength',\n 'pattern',\n 'size',\n] as const;\n\ntype HTMLInputProps = Extract<\n (typeof inputProps)[number],\n keyof InputHTMLAttributes\n>;\n\n/**\n * A basic HTML input control for entering text, numbers, or passwords.\n *\n * Note that checkbox and radio types are supported through\n * the Checklist and RadioItems component. Dates, times, and file uploads\n * are also supported through separate components.\n */\nfunction Input({\n type = HTMLInputTypes.text,\n inputMode = 'verbatim',\n n_blur = 0,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n n_blur_timestamp = -1,\n n_submit = 0,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n n_submit_timestamp = -1,\n debounce = false,\n step = 'any',\n autoComplete = 'off',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n disabled,\n ...props\n}: InputProps) {\n const input = useRef(document.createElement('input'));\n const [value, setValue] = useState(props.value);\n const [pendingEvent, setPendingEvent] = useState();\n const inputId = useState(() => uniqid('input-'))[0];\n\n const valprops = type === HTMLInputTypes.number ? {} : {value: value ?? ''};\n let {className} = props;\n className = 'dash-input' + (className ? ` ${className}` : '');\n\n const setPropValue = useCallback(\n (base: InputProps['value'], value: InputProps['value']) => {\n const {setProps} = props;\n base = convert(base);\n value = input.current.checkValidity() ? convert(value) : NaN;\n\n if (!isEquivalent(base, value)) {\n setProps({value});\n }\n },\n [props.setProps]\n );\n\n const onEvent = () => {\n const {value: inputValue} = input.current;\n const valueAsNumber = convert(inputValue);\n if (type === HTMLInputTypes.number) {\n setPropValue(props.value, valueAsNumber ?? value);\n } else {\n const propValue =\n inputValue === '' && props.value === undefined\n ? undefined\n : inputValue;\n props.setProps({value: propValue});\n }\n setPendingEvent(undefined);\n };\n\n const onBlur = useCallback(() => {\n props.setProps({\n n_blur: (n_blur ?? 0) + 1,\n n_blur_timestamp: Date.now(),\n });\n input.current.checkValidity();\n return debounce === true && onEvent();\n }, [n_blur, debounce]);\n\n const onChange = useCallback(() => {\n const {value} = input.current;\n setValue(value);\n }, []);\n\n const onKeyDown: KeyboardEventHandler = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n props.setProps({\n n_submit: (n_submit ?? 0) + 1,\n n_submit_timestamp: Date.now(),\n });\n }\n return debounce === true && e.key === 'Enter' && onEvent();\n },\n [n_submit, debounce]\n );\n\n const setInputValue = useCallback(\n (base: InputProps['value'], value: InputProps['value']) => {\n base = input.current.checkValidity() ? convert(base) : NaN;\n value = convert(value);\n\n if (!isEquivalent(base, value)) {\n if (typeof value === 'undefined') {\n input.current.value = '';\n } else {\n input.current.value = `${value}`;\n }\n }\n },\n []\n );\n\n const debounceEvent = useCallback(\n (seconds = 0.5) => {\n const {value} = input.current;\n window.clearTimeout(pendingEvent);\n setPendingEvent(\n window.setTimeout(() => {\n onEvent();\n }, seconds * 1000)\n );\n\n setValue(value);\n },\n [pendingEvent]\n );\n\n const handleStepperClick = useCallback(\n (direction: 'increment' | 'decrement') => {\n const currentValue = parseFloat(input.current.value) || 0;\n const stepAsNum = parseFloat(step as string) || 1;\n\n // Count decimal places to avoid floating point precision issues\n const decimalPlaces = (stepAsNum.toString().split('.')[1] || '')\n .length;\n\n const newValue =\n direction === 'increment'\n ? currentValue + stepAsNum\n : currentValue - stepAsNum;\n\n // Apply min/max constraints\n let constrainedValue = newValue;\n if (props.min !== null && props.min !== undefined) {\n constrainedValue = Math.max(\n constrainedValue,\n parseFloat(props.min as string)\n );\n }\n if (props.max !== null && props.max !== undefined) {\n constrainedValue = Math.min(\n constrainedValue,\n parseFloat(props.max as string)\n );\n }\n\n // Round to the step's decimal precision\n const roundedValue = parseFloat(\n constrainedValue.toFixed(decimalPlaces)\n );\n\n input.current.value = roundedValue.toString();\n setValue(roundedValue.toString());\n onEvent();\n },\n [step, props.min, props.max, onEvent]\n );\n\n useEffect(() => {\n const {value} = input.current;\n if (pendingEvent || props.value === value) {\n return;\n }\n const valueAsNumber = convert(value);\n setInputValue(valueAsNumber ?? value, props.value);\n if (type !== HTMLInputTypes.number) {\n setValue(props.value);\n }\n }, [props.value, type, pendingEvent]);\n\n useEffect(() => {\n // Skip this effect if the value change came from props update (not user input)\n if (value === props.value) {\n return;\n }\n\n const {selectionStart: cursorPosition} = input.current;\n if (debounce) {\n if (typeof debounce === 'number' && Number.isFinite(debounce)) {\n debounceEvent(debounce);\n }\n if (type !== HTMLInputTypes.number) {\n setTimeout(() => {\n input.current.setSelectionRange(\n cursorPosition,\n cursorPosition\n );\n }, 0);\n }\n } else {\n onEvent();\n }\n }, [value, debounce, type]);\n\n const disabledAsBool = [true, 'disabled', 'DISABLED'].includes(\n disabled ?? false\n );\n\n const pickedInputs = pick(inputProps, {\n ...props,\n type,\n inputMode,\n step,\n autoComplete,\n disabled: disabledAsBool,\n }) as Pick, HTMLInputProps>;\n\n const isNumberInput = type === HTMLInputTypes.number;\n const currentNumericValue = parseFloat(String(value ?? 0)) || 0;\n const minValue = convert(props.min);\n const maxValue = convert(props.max);\n const isDecrementDisabled =\n disabledAsBool || currentNumericValue <= minValue;\n const isIncrementDisabled =\n disabledAsBool || currentNumericValue >= maxValue;\n\n return (\n \n {loadingProps => (\n \n \n {isNumberInput && (\n handleStepperClick('decrement')}\n disabled={isDecrementDisabled}\n aria-controls={props.id || inputId}\n aria-label=\"Decrease value\"\n >\n −\n \n )}\n {isNumberInput && (\n handleStepperClick('increment')}\n disabled={isIncrementDisabled}\n aria-controls={props.id || inputId}\n aria-label=\"Increase value\"\n >\n +\n \n )}\n
\n )}\n \n );\n}\n\nInput.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n\nexport default Input;\n","import React, {useEffect, useMemo} from 'react';\nimport {isNil} from 'ramda';\n\nimport LoadingElement from '../utils/_LoadingElement';\nimport {LinkProps} from '../types';\n\ntype LinkComponentProps = LinkProps & {\n setProps?: (props: Record) => void;\n};\n\n/**\n * Link allows you to create a clickable link within a multi-page app.\n *\n * For links with destinations outside the current app, `html.A` is a better\n * component to use.\n */\nconst Link = ({\n refresh = false,\n scrollToTop = true,\n ...props\n}: LinkComponentProps) => {\n const {className, style, id, href, children, title, target, setProps} =\n props;\n const cleanUrl = window.dash_clientside.clean_url;\n const sanitizedUrl = useMemo(() => {\n return href ? cleanUrl(href) : undefined;\n }, [href]);\n\n const updateLocation = (e: React.MouseEvent) => {\n const hasModifiers = e.metaKey || e.shiftKey || e.altKey || e.ctrlKey;\n\n if (hasModifiers) {\n return;\n }\n if (target !== '_self' && !isNil(target)) {\n return;\n }\n // prevent anchor from updating location\n e.preventDefault();\n if (refresh) {\n window.location.href = sanitizedUrl as string;\n } else {\n window.history.pushState({}, '', sanitizedUrl);\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n if (scrollToTop) {\n window.scrollTo(0, 0);\n }\n };\n\n useEffect(() => {\n if (sanitizedUrl && sanitizedUrl !== href) {\n setProps?.({\n _dash_error: new Error(`Dangerous link detected:: ${href}`),\n });\n }\n }, [href, sanitizedUrl]);\n\n return (\n \n {loadingProps => (\n \n {isNil(children) ? sanitizedUrl : children}\n \n )}\n \n );\n};\n\nexport default Link;\n","import React, {ButtonHTMLAttributes, DetailedHTMLProps} from 'react';\nimport {BaseDashProps, DashComponent} from '@dash-renderer/types';\n\nexport enum PersistenceTypes {\n 'local' = 'local',\n 'session' = 'session',\n 'memory' = 'memory',\n}\n\nexport enum PersistedProps {\n 'value' = 'value',\n 'date' = 'date',\n 'start_date' = 'start_date',\n 'end_date' = 'end_date',\n}\n\nexport interface BaseDccProps\n extends Pick {\n /**\n * Additional CSS class for the root DOM node\n */\n className?: string;\n\n /**\n * Dash-assigned callback that gets fired when component properties change\n */\n setProps: (props: Partial) => void;\n\n /**\n * Used to allow user interactions in this component to be persisted when\n * the component - or the page - is refreshed. If `persisted` is truthy and\n * hasn't changed from its previous value, a `value` that the user has\n * changed while using the app will keep that change, as long as\n * the new `value` also matches what was given originally.\n * Used in conjunction with `persistence_type`.\n */\n persistence?: boolean | string | number;\n\n /**\n * Properties whose user interactions will persist after refreshing the\n * component or the page. Since only `value` is allowed this prop can\n * normally be ignored.\n */\n persisted_props?: PersistedProps[];\n\n /**\n * Where persisted user changes will be stored:\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n persistence_type?: PersistenceTypes;\n}\n\nexport type ButtonProps = BaseDccProps & {\n /**\n * The children of this component.\n */\n children?: React.ReactNode;\n /**\n * Defines the type of the element.\n */\n type?: 'submit' | 'reset' | 'button';\n /**\n * The element should be automatically focused after the page loaded.\n */\n autoFocus?: boolean;\n /**\n * Indicates whether the user can interact with the element.\n */\n disabled?: boolean;\n /**\n * Indicates the form that is the owner of the element.\n */\n form?: string;\n /**\n * Indicates the action of the element, overriding the action defined in the
.\n */\n formAction?: string;\n /**\n * If the button/input is a submit button (type=\"submit\"), this attribute sets the encoding type to use during form submission. If this attribute is specified, it overrides the enctype attribute of the button's form owner.\n */\n formEncType?: string;\n /**\n * If the button/input is a submit button (type=\"submit\"), this attribute sets the submission method to use during form submission (GET, POST, etc.). If this attribute is specified, it overrides the method attribute of the button's form owner.\n */\n formMethod?: string;\n /**\n * If the button/input is a submit button (type=\"submit\"), this boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the novalidate attribute of the button's form owner.\n */\n formNoValidate?: boolean;\n /**\n * If the button/input is a submit button (type=\"submit\"), this attribute specifies the browsing context (for example, tab, window, or inline frame) in which to display the response that is received after submitting the form. If this attribute is specified, it overrides the target attribute of the button's form owner.\n */\n formTarget?: string;\n /**\n * Name of the element. For example used by the server to identify the fields in form submits.\n */\n name?: string;\n /**\n * Defines a default value which will be displayed in the element on page load.\n */\n value?: string | string[] | number;\n /**\n * Keyboard shortcut to activate or add focus to the element.\n */\n accessKey?: string;\n /**\n * Indicates whether the element's content is editable.\n */\n contentEditable?: boolean | 'true' | 'false' | 'inherit';\n /**\n * Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left).\n */\n dir?: string;\n /**\n * Defines whether the element can be dragged.\n */\n draggable?: boolean;\n /**\n * Prevents rendering of given element, while keeping child elements, e.g. script elements, active.\n */\n hidden?: boolean;\n /**\n * Defines the language used in the element.\n */\n lang?: string;\n /**\n * Defines the role of an element in the context of accessibility.\n */\n role?: string;\n /**\n * Indicates whether spell checking is allowed for the element.\n */\n spellCheck?: boolean;\n /**\n * Defines CSS styles which will override styles previously set.\n */\n style?: React.CSSProperties;\n /**\n * Overrides the browser's default tab order and follows the one specified instead.\n */\n tabIndex?: number;\n /**\n * Text to be displayed in a tooltip when hovering over the element.\n */\n title?: string;\n /**\n * Number of times the button lost focus.\n */\n n_blur?: number;\n /**\n * Last time the button lost focus.\n */\n n_blur_timestamp?: number;\n /**\n * Number of times the button has been clicked.\n */\n n_clicks?: number;\n /**\n * Last time the button was clicked.\n */\n n_clicks_timestamp?: number;\n};\n\nexport enum HTMLInputTypes {\n // Only allowing the input types with wide browser compatibility\n 'text' = 'text',\n 'number' = 'number',\n 'password' = 'password',\n 'email' = 'email',\n 'range' = 'range',\n 'search' = 'search',\n 'tel' = 'tel',\n 'url' = 'url',\n 'hidden' = 'hidden',\n}\n\nexport interface InputProps extends BaseDccProps {\n /**\n * The value of the input\n */\n value?: string | number;\n /**\n * The type of control to render.\n */\n type?: HTMLInputTypes;\n /**\n * If true, changes to input will be sent back to the Dash server only on enter or when losing focus.\n * If it's false, it will send the value back on every change.\n * If a number, it will not send anything back to the Dash server until the user has stopped\n * typing for that number of seconds.\n */\n debounce?: boolean | number;\n /**\n * A hint to the user of what can be entered in the control . The placeholder text must not contain carriage returns or line-feeds. Note: Do not use the placeholder attribute instead of a
\n );\n }\n\n return (\n \n \n String(data.options[index]?.value ?? index)\n }\n >\n {Row}\n \n {sizerDiv && (\n
\n {sizerDiv}\n
\n )}\n
\n );\n }\n);\n\nOptionsList.displayName = 'OptionsList';\n","import React from 'react';\nimport {DetailedOption, DropdownProps, OptionValue} from '../types';\n\nconst isOptionValue = (option: unknown): option is OptionValue => {\n return ['string', 'number', 'boolean'].includes(typeof option);\n};\n\nexport interface SanitizedResult {\n options: DetailedOption[];\n valueSet: Set;\n}\n\nexport const sanitizeOptions = (\n options: DropdownProps['options']\n): SanitizedResult => {\n const valueSet = new Set();\n let result: DetailedOption[];\n\n if (typeof options === 'object' && !(options instanceof Array)) {\n result = Object.entries(options).map(([value, label]) => {\n const opt = {\n label: React.isValidElement(label) ? label : String(label),\n value,\n };\n valueSet.add(value);\n return opt;\n });\n } else if (options instanceof Array) {\n result = options.map(option => {\n const opt = isOptionValue(option)\n ? {label: String(option), value: option}\n : option;\n valueSet.add(opt.value);\n return opt;\n });\n } else {\n result = [];\n }\n\n return {options: result, valueSet};\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = 1 + originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\tadjustedLength > 0 ? adjustedLength : 0,\n\t\ttrue\n\t);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-button {\\n line-height: 32px;\\n background: var(--Dash-Fill-Interactive-Weak);\\n color: var(--Dash-Fill-Interactive-Strong);\\n padding: 0 calc(var(--Dash-Spacing) * 2);\\n border-radius: 4px;\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n box-sizing: border-box;\\n vertical-align: middle;\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n/* Hover state - stronger background */\\n.dash-button:hover {\\n cursor: pointer;\\n background: var(--Dash-Fill-Inverse-Strong);\\n color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Active state (clicking) - inverted colors */\\n.dash-button:active {\\n background: var(--Dash-Fill-Interactive-Strong);\\n color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Keyboard focus - inverted colors */\\n.dash-button:focus-visible {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Hover after keyboard focus - keep inverted but acknowledge hover */\\n.dash-button:focus-visible:hover {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Active state after keyboard focus - inverted colors */\\n.dash-button:focus-visible:active {\\n background: var(--Dash-Fill-Interactive-Strong);\\n color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Disabled state */\\n.dash-button:disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n background: var(--Dash-Fill-Disabled);\\n color: var(--Dash-Text-Strong);\\n border-color: var(--Dash-Stroke-Weak);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/button.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,iBAAiB;IACjB,6CAA6C;IAC7C,0CAA0C;IAC1C,wCAAwC;IACxC,kBAAkB;IAClB,qDAAqD;IACrD,sBAAsB;IACtB,sBAAsB;IACtB,oBAAoB;IACpB,kBAAkB;AACtB;;AAEA,sCAAsC;AACtC;IACI,eAAe;IACf,2CAA2C;IAC3C,0CAA0C;AAC9C;;AAEA,8CAA8C;AAC9C;IACI,+CAA+C;IAC/C,sCAAsC;AAC1C;;AAEA,qCAAqC;AACrC;IACI,sDAAsD;AAC1D;;AAEA,qEAAqE;AACrE;IACI,sDAAsD;AAC1D;;AAEA,wDAAwD;AACxD;IACI,+CAA+C;IAC/C,sCAAsC;AAC1C;;AAEA,mBAAmB;AACnB;IACI,YAAY;IACZ,mBAAmB;IACnB,qCAAqC;IACrC,8BAA8B;IAC9B,qCAAqC;AACzC\",\"sourcesContent\":[\".dash-button {\\n line-height: 32px;\\n background: var(--Dash-Fill-Interactive-Weak);\\n color: var(--Dash-Fill-Interactive-Strong);\\n padding: 0 calc(var(--Dash-Spacing) * 2);\\n border-radius: 4px;\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n box-sizing: border-box;\\n vertical-align: middle;\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n/* Hover state - stronger background */\\n.dash-button:hover {\\n cursor: pointer;\\n background: var(--Dash-Fill-Inverse-Strong);\\n color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Active state (clicking) - inverted colors */\\n.dash-button:active {\\n background: var(--Dash-Fill-Interactive-Strong);\\n color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Keyboard focus - inverted colors */\\n.dash-button:focus-visible {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Hover after keyboard focus - keep inverted but acknowledge hover */\\n.dash-button:focus-visible:hover {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Active state after keyboard focus - inverted colors */\\n.dash-button:focus-visible:active {\\n background: var(--Dash-Fill-Interactive-Strong);\\n color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Disabled state */\\n.dash-button:disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n background: var(--Dash-Fill-Disabled);\\n color: var(--Dash-Text-Strong);\\n border-color: var(--Dash-Stroke-Weak);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-options-list-option.dash-checklist-inline {\\n display: inline-flex;\\n margin-right: calc(var(--Dash-Spacing) * 4);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/checklist.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,oBAAoB;IACpB,2CAA2C;AAC/C\",\"sourcesContent\":[\".dash-options-list-option.dash-checklist-inline {\\n display: inline-flex;\\n margin-right: calc(var(--Dash-Spacing) * 4);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root {\\n --Dash-Spacing: 4px;\\n --Dash-Stroke-Strong: rgba(0, 18, 77, 0.45);\\n --Dash-Stroke-Weak: rgba(0, 24, 102, 0.1);\\n --Dash-Fill-Interactive-Strong: #7f4bc4;\\n --Dash-Fill-Interactive-Weak: rgba(0, 30, 128, 0.04);\\n --Dash-Fill-Inverse-Strong: #fff;\\n --Dash-Text-Primary: rgba(0, 18, 77, 0.87);\\n --Dash-Text-Strong: rgba(0, 9, 38, 0.9);\\n --Dash-Text-Weak: rgba(0, 12, 51, 0.65);\\n --Dash-Text-Disabled: rgba(0, 21, 89, 0.6);\\n --Dash-Fill-Primary-Hover: rgba(0, 18, 77, 0.04);\\n --Dash-Fill-Primary-Active: rgba(0, 18, 77, 0.08);\\n --Dash-Fill-Disabled: rgba(0, 24, 102, 0.1);\\n --Dash-Shading-Strong: rgba(22, 23, 24, 0.35);\\n --Dash-Shading-Weak: rgba(22, 23, 24, 0.2);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/dcc.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,mBAAmB;IACnB,2CAA2C;IAC3C,yCAAyC;IACzC,uCAAuC;IACvC,oDAAoD;IACpD,gCAAgC;IAChC,0CAA0C;IAC1C,uCAAuC;IACvC,uCAAuC;IACvC,0CAA0C;IAC1C,gDAAgD;IAChD,iDAAiD;IACjD,2CAA2C;IAC3C,6CAA6C;IAC7C,0CAA0C;AAC9C\",\"sourcesContent\":[\":root {\\n --Dash-Spacing: 4px;\\n --Dash-Stroke-Strong: rgba(0, 18, 77, 0.45);\\n --Dash-Stroke-Weak: rgba(0, 24, 102, 0.1);\\n --Dash-Fill-Interactive-Strong: #7f4bc4;\\n --Dash-Fill-Interactive-Weak: rgba(0, 30, 128, 0.04);\\n --Dash-Fill-Inverse-Strong: #fff;\\n --Dash-Text-Primary: rgba(0, 18, 77, 0.87);\\n --Dash-Text-Strong: rgba(0, 9, 38, 0.9);\\n --Dash-Text-Weak: rgba(0, 12, 51, 0.65);\\n --Dash-Text-Disabled: rgba(0, 21, 89, 0.6);\\n --Dash-Fill-Primary-Hover: rgba(0, 18, 77, 0.04);\\n --Dash-Fill-Primary-Active: rgba(0, 18, 77, 0.08);\\n --Dash-Fill-Disabled: rgba(0, 24, 102, 0.1);\\n --Dash-Shading-Strong: rgba(22, 23, 24, 0.35);\\n --Dash-Shading-Weak: rgba(22, 23, 24, 0.2);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Input container styles */\\n.dash-input-container {\\n position: relative;\\n display: inline-flex;\\n align-items: center;\\n width: 100%;\\n height: 34px;\\n background: var(--Dash-Fill-Inverse-Strong);\\n border-radius: var(--Dash-Spacing);\\n border: 1px solid var(--Dash-Stroke-Strong);\\n box-sizing: border-box;\\n container-type: inline-size;\\n vertical-align: middle;\\n color: inherit;\\n overflow: hidden;\\n}\\n\\n.dash-input-container:focus-within {\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-container:has(:focus-visible) {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-container:has(.dash-input-element:disabled) {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n.dash-input-container input:focus {\\n outline: none;\\n}\\n\\n.dash-input-container:has(input[type='range']) {\\n background: inherit;\\n}\\n\\n/* Input field styles */\\n.dash-input-element {\\n padding: var(--Dash-Spacing) calc(2 * var(--Dash-Spacing));\\n color: inherit;\\n background: inherit;\\n border: none;\\n border-radius: var(--Dash-Spacing);\\n flex: 1 1 0;\\n min-width: 0;\\n height: 100%;\\n box-sizing: border-box;\\n z-index: 1;\\n order: 2;\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n.dash-input-element::selection,\\n.dash-input-element::-webkit-selection {\\n color: var(--Dash-Fill-Inverse-Strong);\\n background: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-element:disabled {\\n cursor: not-allowed;\\n}\\n\\n/* Hide native steppers for number inputs */\\n.dash-input-element[type='number'] {\\n -moz-appearance: textfield;\\n border-radius: 0;\\n}\\n\\n.dash-input-element[type='number']::-webkit-outer-spin-button,\\n.dash-input-element[type='number']::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n\\n/* Show native steppers when container is narrow and input is number type */\\n@container (max-width: 99px) {\\n .dash-input-element[type='number'] {\\n -moz-appearance: number-input;\\n }\\n\\n .dash-input-element[type='number']::-webkit-outer-spin-button,\\n .dash-input-element[type='number']::-webkit-inner-spin-button {\\n -webkit-appearance: inner-spin-button;\\n margin: 0;\\n }\\n}\\n\\n/* Stepper button base styles */\\n.dash-input-stepper {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 32px;\\n height: 100%;\\n border: none;\\n background: var(--Dash-Fill-Inverse-Strong);\\n cursor: pointer;\\n font-size: 16px;\\n font-weight: bold;\\n color: var(--Dash-Text-Primary);\\n}\\n\\n.dash-input-stepper:hover,\\n.dash-input-stepper:focus {\\n background: var(--Dash-Fill-Primary-Hover);\\n}\\n\\n.dash-input-stepper:active {\\n background: var(--Dash-Fill-Primary-Active);\\n}\\n\\n.dash-input-stepper:disabled {\\n background: var(--Dash-Fill-Inverse-Strong);\\n opacity: 0.5;\\n cursor: default;\\n}\\n\\n@container (max-width: 99px) {\\n .dash-input-stepper {\\n display: none;\\n }\\n}\\n\\n/* Decrement button specific styles */\\n.dash-input-stepper.dash-stepper-decrement {\\n border-right: 1px solid var(--Dash-Stroke-Weak);\\n border-radius: var(--Dash-Spacing) 0 0 var(--Dash-Spacing);\\n order: 1;\\n}\\n\\n/* Increment button specific styles */\\n.dash-input-stepper.dash-stepper-increment {\\n border-left: 1px solid var(--Dash-Stroke-Weak);\\n border-radius: 0 var(--Dash-Spacing) var(--Dash-Spacing) 0;\\n order: 3;\\n}\\n\\n/* Hidden input type */\\n.dash-input-container.dash-input-hidden {\\n display: none;\\n}\\n\\ninput.dash-input-element:invalid {\\n color: red;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/input.css\"],\"names\":[],\"mappings\":\"AAAA,2BAA2B;AAC3B;IACI,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,WAAW;IACX,YAAY;IACZ,2CAA2C;IAC3C,kCAAkC;IAClC,2CAA2C;IAC3C,sBAAsB;IACtB,2BAA2B;IAC3B,sBAAsB;IACtB,cAAc;IACd,gBAAgB;AACpB;;AAEA;IACI,qDAAqD;AACzD;;AAEA;IACI,sDAAsD;AAC1D;;AAEA;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,mBAAmB;AACvB;;AAEA,uBAAuB;AACvB;IACI,0DAA0D;IAC1D,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,kCAAkC;IAClC,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,sBAAsB;IACtB,UAAU;IACV,QAAQ;IACR,iDAAiD;IACjD,oBAAoB;IACpB,kBAAkB;AACtB;;AAEA;;IAEI,sCAAsC;IACtC,+CAA+C;AACnD;;AAEA;IACI,mBAAmB;AACvB;;AAEA,2CAA2C;AAC3C;IACI,0BAA0B;IAC1B,gBAAgB;AACpB;;AAEA;;IAEI,wBAAwB;IACxB,SAAS;AACb;;AAEA,2EAA2E;AAC3E;IACI;QACI,6BAA6B;IACjC;;IAEA;;QAEI,qCAAqC;QACrC,SAAS;IACb;AACJ;;AAEA,+BAA+B;AAC/B;IACI,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,2CAA2C;IAC3C,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,+BAA+B;AACnC;;AAEA;;IAEI,0CAA0C;AAC9C;;AAEA;IACI,2CAA2C;AAC/C;;AAEA;IACI,2CAA2C;IAC3C,YAAY;IACZ,eAAe;AACnB;;AAEA;IACI;QACI,aAAa;IACjB;AACJ;;AAEA,qCAAqC;AACrC;IACI,+CAA+C;IAC/C,0DAA0D;IAC1D,QAAQ;AACZ;;AAEA,qCAAqC;AACrC;IACI,8CAA8C;IAC9C,0DAA0D;IAC1D,QAAQ;AACZ;;AAEA,sBAAsB;AACtB;IACI,aAAa;AACjB;;AAEA;IACI,UAAU;AACd\",\"sourcesContent\":[\"/* Input container styles */\\n.dash-input-container {\\n position: relative;\\n display: inline-flex;\\n align-items: center;\\n width: 100%;\\n height: 34px;\\n background: var(--Dash-Fill-Inverse-Strong);\\n border-radius: var(--Dash-Spacing);\\n border: 1px solid var(--Dash-Stroke-Strong);\\n box-sizing: border-box;\\n container-type: inline-size;\\n vertical-align: middle;\\n color: inherit;\\n overflow: hidden;\\n}\\n\\n.dash-input-container:focus-within {\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-container:has(:focus-visible) {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-container:has(.dash-input-element:disabled) {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n.dash-input-container input:focus {\\n outline: none;\\n}\\n\\n.dash-input-container:has(input[type='range']) {\\n background: inherit;\\n}\\n\\n/* Input field styles */\\n.dash-input-element {\\n padding: var(--Dash-Spacing) calc(2 * var(--Dash-Spacing));\\n color: inherit;\\n background: inherit;\\n border: none;\\n border-radius: var(--Dash-Spacing);\\n flex: 1 1 0;\\n min-width: 0;\\n height: 100%;\\n box-sizing: border-box;\\n z-index: 1;\\n order: 2;\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n.dash-input-element::selection,\\n.dash-input-element::-webkit-selection {\\n color: var(--Dash-Fill-Inverse-Strong);\\n background: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-input-element:disabled {\\n cursor: not-allowed;\\n}\\n\\n/* Hide native steppers for number inputs */\\n.dash-input-element[type='number'] {\\n -moz-appearance: textfield;\\n border-radius: 0;\\n}\\n\\n.dash-input-element[type='number']::-webkit-outer-spin-button,\\n.dash-input-element[type='number']::-webkit-inner-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n\\n/* Show native steppers when container is narrow and input is number type */\\n@container (max-width: 99px) {\\n .dash-input-element[type='number'] {\\n -moz-appearance: number-input;\\n }\\n\\n .dash-input-element[type='number']::-webkit-outer-spin-button,\\n .dash-input-element[type='number']::-webkit-inner-spin-button {\\n -webkit-appearance: inner-spin-button;\\n margin: 0;\\n }\\n}\\n\\n/* Stepper button base styles */\\n.dash-input-stepper {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 32px;\\n height: 100%;\\n border: none;\\n background: var(--Dash-Fill-Inverse-Strong);\\n cursor: pointer;\\n font-size: 16px;\\n font-weight: bold;\\n color: var(--Dash-Text-Primary);\\n}\\n\\n.dash-input-stepper:hover,\\n.dash-input-stepper:focus {\\n background: var(--Dash-Fill-Primary-Hover);\\n}\\n\\n.dash-input-stepper:active {\\n background: var(--Dash-Fill-Primary-Active);\\n}\\n\\n.dash-input-stepper:disabled {\\n background: var(--Dash-Fill-Inverse-Strong);\\n opacity: 0.5;\\n cursor: default;\\n}\\n\\n@container (max-width: 99px) {\\n .dash-input-stepper {\\n display: none;\\n }\\n}\\n\\n/* Decrement button specific styles */\\n.dash-input-stepper.dash-stepper-decrement {\\n border-right: 1px solid var(--Dash-Stroke-Weak);\\n border-radius: var(--Dash-Spacing) 0 0 var(--Dash-Spacing);\\n order: 1;\\n}\\n\\n/* Increment button specific styles */\\n.dash-input-stepper.dash-stepper-increment {\\n border-left: 1px solid var(--Dash-Stroke-Weak);\\n border-radius: 0 var(--Dash-Spacing) var(--Dash-Spacing) 0;\\n order: 3;\\n}\\n\\n/* Hidden input type */\\n.dash-input-container.dash-input-hidden {\\n display: none;\\n}\\n\\ninput.dash-input-element:invalid {\\n color: red;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-options-list-option {\\n padding: var(--Dash-Spacing) 0;\\n background: var(--Dash-Fill-Inverse-strong);\\n color: var(--Dash-Text-Strong);\\n cursor: pointer;\\n display: flex;\\n align-items: baseline;\\n user-select: none;\\n}\\n\\n.dash-options-list-option:not(:has(input[disabled])):hover,\\n.dash-options-list-option:not(:has(input[disabled])):focus-within {\\n color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-options-list-option:has(input[disabled]) {\\n color: var(--Dash-Text-Disabled);\\n cursor: not-allowed;\\n}\\n\\n.dash-options-list-option-wrapper,\\n.dash-options-list-option-text {\\n display: flex;\\n align-items: center;\\n}\\n\\n.dash-options-list-option-checkbox {\\n display: inline-block;\\n margin: 0 calc(var(--Dash-Spacing) * 2) 0 0;\\n box-sizing: border-box;\\n border: 1px solid var(--Dash-Stroke-Strong);\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n outline-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/optionslist.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,8BAA8B;IAC9B,2CAA2C;IAC3C,8BAA8B;IAC9B,eAAe;IACf,aAAa;IACb,qBAAqB;IACrB,iBAAiB;AACrB;;AAEA;;IAEI,0CAA0C;AAC9C;;AAEA;IACI,gCAAgC;IAChC,mBAAmB;AACvB;;AAEA;;IAEI,aAAa;IACb,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;IACrB,2CAA2C;IAC3C,sBAAsB;IACtB,2CAA2C;IAC3C,iDAAiD;IACjD,kDAAkD;AACtD\",\"sourcesContent\":[\".dash-options-list-option {\\n padding: var(--Dash-Spacing) 0;\\n background: var(--Dash-Fill-Inverse-strong);\\n color: var(--Dash-Text-Strong);\\n cursor: pointer;\\n display: flex;\\n align-items: baseline;\\n user-select: none;\\n}\\n\\n.dash-options-list-option:not(:has(input[disabled])):hover,\\n.dash-options-list-option:not(:has(input[disabled])):focus-within {\\n color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-options-list-option:has(input[disabled]) {\\n color: var(--Dash-Text-Disabled);\\n cursor: not-allowed;\\n}\\n\\n.dash-options-list-option-wrapper,\\n.dash-options-list-option-text {\\n display: flex;\\n align-items: center;\\n}\\n\\n.dash-options-list-option-checkbox {\\n display: inline-block;\\n margin: 0 calc(var(--Dash-Spacing) * 2) 0 0;\\n box-sizing: border-box;\\n border: 1px solid var(--Dash-Stroke-Strong);\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n outline-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-options-list-option.dash-radioitems-inline {\\n display: inline-flex;\\n margin-right: calc(var(--Dash-Spacing) * 4);\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/radioitems.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,oBAAoB;IACpB,2CAA2C;AAC/C\",\"sourcesContent\":[\".dash-options-list-option.dash-radioitems-inline {\\n display: inline-flex;\\n margin-right: calc(var(--Dash-Spacing) * 4);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-slider-root {\\n position: relative;\\n z-index: 0;\\n display: flex;\\n align-items: center;\\n user-select: none;\\n touch-action: none;\\n width: 100%;\\n height: 14px;\\n padding: 17px 0 17px 0;\\n box-sizing: border-box;\\n /* Override Radix's default margin/padding behavior */\\n --radix-slider-thumb-width: 16px;\\n}\\n\\n.dash-slider-root.has-marks {\\n padding: 6px 0 28px 0;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'].has-marks {\\n padding-bottom: 0px;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] {\\n flex-direction: column;\\n width: 20px;\\n height: 100%;\\n}\\n\\n.dash-slider-track {\\n position: relative;\\n flex-grow: 1;\\n border-radius: 9999px;\\n height: 4px;\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-track {\\n width: 4px;\\n height: auto;\\n overflow-y: hidden;\\n}\\n\\n.dash-slider-range {\\n position: absolute;\\n border-radius: 9999px;\\n height: 100%;\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-range {\\n width: 100%;\\n height: auto;\\n}\\n\\n.dash-slider-thumb {\\n position: relative;\\n z-index: 1;\\n display: block;\\n width: 16px;\\n height: 16px;\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n border: 2px solid var(--Dash-Fill-Inverse-Strong);\\n border-radius: 50%;\\n box-shadow: 0 1px 3px 0 var(--Dash-Shading-Weak);\\n cursor: pointer;\\n outline: none;\\n transition: all 0.15s ease-in-out;\\n}\\n\\n.dash-slider-thumb:focus,\\n.dash-slider-thumb:hover {\\n transform: scale(1.125); /* Scale to make 16px thumb appear as 18px */\\n box-shadow: 0 4px 6px -1px var(--Dash-Shading-Weak);\\n}\\n\\n.dash-slider-thumb:focus {\\n outline: 2px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-thumb:focus .dash-slider-tooltip,\\n.dash-slider-thumb:hover .dash-slider-tooltip {\\n display: block;\\n}\\n\\n.dash-slider-thumb[data-disabled],\\n.dash-range-slider-input:disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n\\n.dash-slider-mark {\\n position: absolute;\\n font-size: 12px;\\n height: 12px;\\n line-height: 12px;\\n color: var(--Dash-Text-Strong);\\n white-space: nowrap;\\n pointer-events: none;\\n}\\n\\n.dash-slider-mark-outside-selection {\\n color: var(--Dash-Text-Disabled);\\n}\\n\\n.dash-slider-mark:before {\\n content: '';\\n position: absolute;\\n bottom: 100%;\\n left: 50%;\\n transform: translateX(-50%);\\n background-color: var(--Dash-Fill-Disabled);\\n width: 4px;\\n height: 6px;\\n border-radius: 2px;\\n margin-bottom: 2px;\\n}\\n.dash-slider-mark.with-dots:before {\\n content: initial;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-mark:before {\\n content: initial;\\n}\\n\\n.dash-slider-dot {\\n pointer-events: none;\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: var(--Dash-Fill-Primary-Active);\\n}\\n\\n.dash-slider-dot-outside-selection {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-tooltip {\\n display: none;\\n position: absolute;\\n border-radius: var(--Dash-Spacing);\\n padding: calc(var(--Dash-Spacing) * 3);\\n font-size: 12px;\\n line-height: 1;\\n box-shadow: 0 0 8px var(--Dash-Shading-Strong);\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n user-select: none;\\n z-index: 1000;\\n fill: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n.dash-slider-tooltip.always-visible {\\n display: block;\\n}\\n\\n/* Include property to mimic rc-slider behavior */\\n.dash-slider-root:not([data-included='false']) .dash-slider-range {\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-root[data-included='false'] .dash-slider-range {\\n background-color: transparent;\\n}\\n\\n/* Disabled state */\\n.dash-slider-root[data-disabled] {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-track {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-range {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-thumb {\\n cursor: not-allowed;\\n border-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-container {\\n display: flex;\\n align-items: center;\\n gap: 16px;\\n width: 100%;\\n container-type: inline-size;\\n}\\n\\n.dash-slider-wrapper {\\n flex: 1;\\n min-width: 0;\\n}\\n\\n.dash-range-slider-inputs {\\n display: flex;\\n flex-direction: column;\\n gap: 4px;\\n min-width: 64px;\\n}\\n\\n.dash-range-slider-min-input {\\n text-align: center;\\n}\\n\\n.dash-range-slider-max-input {\\n order: 1;\\n}\\n\\n.dash-range-slider-input {\\n min-width: 5cqw; /* 5% of container width */\\n max-width: 25cqw; /* 25% of container width */\\n text-align: center;\\n -webkit-appearance: textfield;\\n -moz-appearance: textfield;\\n appearance: textfield;\\n font-family: inherit;\\n font-size: inherit;\\n box-sizing: content-box;\\n height: 30px;\\n}\\n\\n.dash-range-slider-input:only-of-type {\\n max-width: 33cqw;\\n}\\n\\n.dash-range-slider-input::selection,\\n.dash-range-slider-input::-webkit-selection {\\n color: var(--Dash-Fill-Inverse-Strong);\\n background: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-range-slider-input:focus {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Hide the number input spinners */\\n.dash-range-slider-input::-webkit-inner-spin-button,\\n.dash-range-slider-input::-webkit-outer-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n\\n/* Hide inputs on small containers using container queries */\\n/* single slider input */\\n@container (max-width: 200px) {\\n .dash-slider-container .dash-range-slider-input:only-of-type {\\n display: none;\\n }\\n}\\n\\n/* range slider inputs */\\n@container (max-width: 300px) {\\n .dash-slider-container .dash-range-slider-min-input,\\n .dash-slider-container .dash-range-slider-max-input {\\n display: none;\\n }\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/sliders.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\".dash-slider-root {\\n position: relative;\\n z-index: 0;\\n display: flex;\\n align-items: center;\\n user-select: none;\\n touch-action: none;\\n width: 100%;\\n height: 14px;\\n padding: 17px 0 17px 0;\\n box-sizing: border-box;\\n /* Override Radix's default margin/padding behavior */\\n --radix-slider-thumb-width: 16px;\\n}\\n\\n.dash-slider-root.has-marks {\\n padding: 6px 0 28px 0;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'].has-marks {\\n padding-bottom: 0px;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] {\\n flex-direction: column;\\n width: 20px;\\n height: 100%;\\n}\\n\\n.dash-slider-track {\\n position: relative;\\n flex-grow: 1;\\n border-radius: 9999px;\\n height: 4px;\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-track {\\n width: 4px;\\n height: auto;\\n overflow-y: hidden;\\n}\\n\\n.dash-slider-range {\\n position: absolute;\\n border-radius: 9999px;\\n height: 100%;\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-range {\\n width: 100%;\\n height: auto;\\n}\\n\\n.dash-slider-thumb {\\n position: relative;\\n z-index: 1;\\n display: block;\\n width: 16px;\\n height: 16px;\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n border: 2px solid var(--Dash-Fill-Inverse-Strong);\\n border-radius: 50%;\\n box-shadow: 0 1px 3px 0 var(--Dash-Shading-Weak);\\n cursor: pointer;\\n outline: none;\\n transition: all 0.15s ease-in-out;\\n}\\n\\n.dash-slider-thumb:focus,\\n.dash-slider-thumb:hover {\\n transform: scale(1.125); /* Scale to make 16px thumb appear as 18px */\\n box-shadow: 0 4px 6px -1px var(--Dash-Shading-Weak);\\n}\\n\\n.dash-slider-thumb:focus {\\n outline: 2px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-thumb:focus .dash-slider-tooltip,\\n.dash-slider-thumb:hover .dash-slider-tooltip {\\n display: block;\\n}\\n\\n.dash-slider-thumb[data-disabled],\\n.dash-range-slider-input:disabled {\\n cursor: not-allowed;\\n opacity: 0.5;\\n}\\n\\n.dash-slider-mark {\\n position: absolute;\\n font-size: 12px;\\n height: 12px;\\n line-height: 12px;\\n color: var(--Dash-Text-Strong);\\n white-space: nowrap;\\n pointer-events: none;\\n}\\n\\n.dash-slider-mark-outside-selection {\\n color: var(--Dash-Text-Disabled);\\n}\\n\\n.dash-slider-mark:before {\\n content: '';\\n position: absolute;\\n bottom: 100%;\\n left: 50%;\\n transform: translateX(-50%);\\n background-color: var(--Dash-Fill-Disabled);\\n width: 4px;\\n height: 6px;\\n border-radius: 2px;\\n margin-bottom: 2px;\\n}\\n.dash-slider-mark.with-dots:before {\\n content: initial;\\n}\\n\\n.dash-slider-root[data-orientation='vertical'] .dash-slider-mark:before {\\n content: initial;\\n}\\n\\n.dash-slider-dot {\\n pointer-events: none;\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background-color: var(--Dash-Fill-Primary-Active);\\n}\\n\\n.dash-slider-dot-outside-selection {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-tooltip {\\n display: none;\\n position: absolute;\\n border-radius: var(--Dash-Spacing);\\n padding: calc(var(--Dash-Spacing) * 3);\\n font-size: 12px;\\n line-height: 1;\\n box-shadow: 0 0 8px var(--Dash-Shading-Strong);\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n user-select: none;\\n z-index: 1000;\\n fill: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n.dash-slider-tooltip.always-visible {\\n display: block;\\n}\\n\\n/* Include property to mimic rc-slider behavior */\\n.dash-slider-root:not([data-included='false']) .dash-slider-range {\\n background-color: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-slider-root[data-included='false'] .dash-slider-range {\\n background-color: transparent;\\n}\\n\\n/* Disabled state */\\n.dash-slider-root[data-disabled] {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-track {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-range {\\n background-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-root[data-disabled] .dash-slider-thumb {\\n cursor: not-allowed;\\n border-color: var(--Dash-Fill-Disabled);\\n}\\n\\n.dash-slider-container {\\n display: flex;\\n align-items: center;\\n gap: 16px;\\n width: 100%;\\n container-type: inline-size;\\n}\\n\\n.dash-slider-wrapper {\\n flex: 1;\\n min-width: 0;\\n}\\n\\n.dash-range-slider-inputs {\\n display: flex;\\n flex-direction: column;\\n gap: 4px;\\n min-width: 64px;\\n}\\n\\n.dash-range-slider-min-input {\\n text-align: center;\\n}\\n\\n.dash-range-slider-max-input {\\n order: 1;\\n}\\n\\n.dash-range-slider-input {\\n min-width: 5cqw; /* 5% of container width */\\n max-width: 25cqw; /* 25% of container width */\\n text-align: center;\\n -webkit-appearance: textfield;\\n -moz-appearance: textfield;\\n appearance: textfield;\\n font-family: inherit;\\n font-size: inherit;\\n box-sizing: content-box;\\n height: 30px;\\n}\\n\\n.dash-range-slider-input:only-of-type {\\n max-width: 33cqw;\\n}\\n\\n.dash-range-slider-input::selection,\\n.dash-range-slider-input::-webkit-selection {\\n color: var(--Dash-Fill-Inverse-Strong);\\n background: var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-range-slider-input:focus {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n/* Hide the number input spinners */\\n.dash-range-slider-input::-webkit-inner-spin-button,\\n.dash-range-slider-input::-webkit-outer-spin-button {\\n -webkit-appearance: none;\\n margin: 0;\\n}\\n\\n/* Hide inputs on small containers using container queries */\\n/* single slider input */\\n@container (max-width: 200px) {\\n .dash-slider-container .dash-range-slider-input:only-of-type {\\n display: none;\\n }\\n}\\n\\n/* range slider inputs */\\n@container (max-width: 300px) {\\n .dash-slider-container .dash-range-slider-min-input,\\n .dash-slider-container .dash-range-slider-max-input {\\n display: none;\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Tab parent container */\\n.tab-parent {\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n\\n/* Tab container (holds all tabs) */\\n.tab-container {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.tab-container--vert {\\n display: inline-flex;\\n}\\n\\n/* Individual tab */\\n.tab {\\n flex: 1 1 0;\\n min-width: 0;\\n background-color: var(--tabs-background);\\n border: 1px solid var(--tabs-border);\\n border-bottom: none;\\n padding: 20px 25px;\\n transition: background-color, color 200ms;\\n text-align: center;\\n box-sizing: border-box;\\n cursor: pointer;\\n}\\n\\n/* Tab selected state */\\n.tab--selected {\\n border-top: 2px solid var(--tabs-primary);\\n color: var(--Dash-Text-Primary);\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n.tab--selected:hover {\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Tab disabled state */\\n.tab--disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n/* Tab content area */\\n.tab-content--vert {\\n display: inline-flex;\\n flex-direction: column;\\n}\\n\\n/* Desktop/tablet styles (when above breakpoint) */\\n.tab-parent--above-breakpoint .tab {\\n border: 1px solid var(--tabs-border);\\n border-right: none;\\n}\\n\\n.tab-parent--above-breakpoint .tab:last-child {\\n border-right: 1px solid var(--tabs-border);\\n border-bottom: 1px solid var(--tabs-border);\\n}\\n\\n.tab-parent--above-breakpoint .tab--selected,\\n.tab-parent--above-breakpoint .tab:last-child.tab--selected {\\n border-bottom: none;\\n}\\n\\n/* Vertical tabs: left border for selected */\\n.tab-parent--above-breakpoint .tab-container--vert .tab--selected {\\n border-left: 2px solid var(--tabs-primary);\\n}\\n\\n/* Horizontal tabs: top border for selected */\\n.tab-parent--above-breakpoint\\n .tab-container:not(.tab-container--vert)\\n .tab--selected,\\n.tab-parent--above-breakpoint\\n .tab-container:not(.tab-container--vert)\\n .tab:last-child.tab--selected {\\n border-top: 2px solid var(--tabs-primary);\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab {\\n width: auto;\\n border-right: none !important;\\n border-bottom: none !important;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab:last-child {\\n border-bottom: 1px solid var(--tabs-border) !important;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab--selected {\\n border-top: 1px solid var(--tabs-border);\\n border-left: 2px solid var(--tabs-primary);\\n border-right: none;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container {\\n flex-direction: row;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert {\\n flex-direction: column;\\n}\\n\\n.tab-parent--above-breakpoint.tab-parent--vert {\\n display: inline-flex;\\n flex-direction: row;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/tabs.css\"],\"names\":[],\"mappings\":\"AAAA,yBAAyB;AACzB;IACI,aAAa;IACb,sBAAsB;IACtB,gBAAgB;AACpB;;AAEA,mCAAmC;AACnC;IACI,aAAa;IACb,sBAAsB;AAC1B;;AAEA;IACI,oBAAoB;AACxB;;AAEA,mBAAmB;AACnB;IACI,WAAW;IACX,YAAY;IACZ,wCAAwC;IACxC,oCAAoC;IACpC,mBAAmB;IACnB,kBAAkB;IAClB,yCAAyC;IACzC,kBAAkB;IAClB,sBAAsB;IACtB,eAAe;AACnB;;AAEA,uBAAuB;AACvB;IACI,yCAAyC;IACzC,+BAA+B;IAC/B,iDAAiD;AACrD;;AAEA;IACI,iDAAiD;AACrD;;AAEA,uBAAuB;AACvB;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA,qBAAqB;AACrB;IACI,oBAAoB;IACpB,sBAAsB;AAC1B;;AAEA,kDAAkD;AAClD;IACI,oCAAoC;IACpC,kBAAkB;AACtB;;AAEA;IACI,0CAA0C;IAC1C,2CAA2C;AAC/C;;AAEA;;IAEI,mBAAmB;AACvB;;AAEA,4CAA4C;AAC5C;IACI,0CAA0C;AAC9C;;AAEA,6CAA6C;AAC7C;;;;;;IAMI,yCAAyC;AAC7C;;AAEA;IACI,WAAW;IACX,6BAA6B;IAC7B,8BAA8B;AAClC;;AAEA;IACI,sDAAsD;AAC1D;;AAEA;IACI,wCAAwC;IACxC,0CAA0C;IAC1C,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,oBAAoB;IACpB,mBAAmB;AACvB\",\"sourcesContent\":[\"/* Tab parent container */\\n.tab-parent {\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n}\\n\\n/* Tab container (holds all tabs) */\\n.tab-container {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.tab-container--vert {\\n display: inline-flex;\\n}\\n\\n/* Individual tab */\\n.tab {\\n flex: 1 1 0;\\n min-width: 0;\\n background-color: var(--tabs-background);\\n border: 1px solid var(--tabs-border);\\n border-bottom: none;\\n padding: 20px 25px;\\n transition: background-color, color 200ms;\\n text-align: center;\\n box-sizing: border-box;\\n cursor: pointer;\\n}\\n\\n/* Tab selected state */\\n.tab--selected {\\n border-top: 2px solid var(--tabs-primary);\\n color: var(--Dash-Text-Primary);\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n.tab--selected:hover {\\n background-color: var(--Dash-Fill-Inverse-Strong);\\n}\\n\\n/* Tab disabled state */\\n.tab--disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n/* Tab content area */\\n.tab-content--vert {\\n display: inline-flex;\\n flex-direction: column;\\n}\\n\\n/* Desktop/tablet styles (when above breakpoint) */\\n.tab-parent--above-breakpoint .tab {\\n border: 1px solid var(--tabs-border);\\n border-right: none;\\n}\\n\\n.tab-parent--above-breakpoint .tab:last-child {\\n border-right: 1px solid var(--tabs-border);\\n border-bottom: 1px solid var(--tabs-border);\\n}\\n\\n.tab-parent--above-breakpoint .tab--selected,\\n.tab-parent--above-breakpoint .tab:last-child.tab--selected {\\n border-bottom: none;\\n}\\n\\n/* Vertical tabs: left border for selected */\\n.tab-parent--above-breakpoint .tab-container--vert .tab--selected {\\n border-left: 2px solid var(--tabs-primary);\\n}\\n\\n/* Horizontal tabs: top border for selected */\\n.tab-parent--above-breakpoint\\n .tab-container:not(.tab-container--vert)\\n .tab--selected,\\n.tab-parent--above-breakpoint\\n .tab-container:not(.tab-container--vert)\\n .tab:last-child.tab--selected {\\n border-top: 2px solid var(--tabs-primary);\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab {\\n width: auto;\\n border-right: none !important;\\n border-bottom: none !important;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab:last-child {\\n border-bottom: 1px solid var(--tabs-border) !important;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert .tab--selected {\\n border-top: 1px solid var(--tabs-border);\\n border-left: 2px solid var(--tabs-primary);\\n border-right: none;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container {\\n flex-direction: row;\\n}\\n\\n.tab-parent--above-breakpoint .tab-container--vert {\\n flex-direction: column;\\n}\\n\\n.tab-parent--above-breakpoint.tab-parent--vert {\\n display: inline-flex;\\n flex-direction: row;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* Input container styles */\\n.dash-textarea {\\n background: var(--Dash-Fill-Inverse-Strong);\\n border-radius: var(--Dash-Spacing);\\n border: 1px solid var(--Dash-Stroke-Strong);\\n box-sizing: border-box;\\n color: inherit;\\n padding: var(--Dash-Spacing) calc(2 * var(--Dash-Spacing));\\n width: 100%;\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n outline-color: var(--Dash-Fill-Interactive-Strong);\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n.dash-textarea:focus-within {\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-textarea:focus-visible {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-textarea:disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n.dash-textarea:invalid {\\n outline: solid red;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/textarea.css\"],\"names\":[],\"mappings\":\"AAAA,2BAA2B;AAC3B;IACI,2CAA2C;IAC3C,kCAAkC;IAClC,2CAA2C;IAC3C,sBAAsB;IACtB,cAAc;IACd,0DAA0D;IAC1D,WAAW;IACX,iDAAiD;IACjD,kDAAkD;IAClD,oBAAoB;IACpB,kBAAkB;AACtB;;AAEA;IACI,qDAAqD;AACzD;;AAEA;IACI,sDAAsD;AAC1D;;AAEA;IACI,YAAY;IACZ,mBAAmB;AACvB;;AAEA;IACI,kBAAkB;AACtB\",\"sourcesContent\":[\"/* Input container styles */\\n.dash-textarea {\\n background: var(--Dash-Fill-Inverse-Strong);\\n border-radius: var(--Dash-Spacing);\\n border: 1px solid var(--Dash-Stroke-Strong);\\n box-sizing: border-box;\\n color: inherit;\\n padding: var(--Dash-Spacing) calc(2 * var(--Dash-Spacing));\\n width: 100%;\\n accent-color: var(--Dash-Fill-Interactive-Strong);\\n outline-color: var(--Dash-Fill-Interactive-Strong);\\n font-family: inherit;\\n font-size: inherit;\\n}\\n\\n.dash-textarea:focus-within {\\n border: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-textarea:focus-visible {\\n outline: 1px solid var(--Dash-Fill-Interactive-Strong);\\n}\\n\\n.dash-textarea:disabled {\\n opacity: 0.6;\\n cursor: not-allowed;\\n}\\n\\n.dash-textarea:invalid {\\n outline: solid red;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".dash-tooltip {\\n position: absolute;\\n}\\n\\n.hover {\\n position: absolute;\\n}\\n.hover-right {\\n /* Offset so that the triangle caret lands directly on what's hovered */\\n transform: translate(5px, 0);\\n top: 50%;\\n left: 100%;\\n}\\n.hover-left {\\n transform: translate(-5px, 0);\\n top: 50%;\\n}\\n.hover-bottom {\\n transform: translate(0, 6px);\\n top: 100%;\\n left: 50%;\\n}\\n.hover-top {\\n transform: translate(0, -5px);\\n left: 50%;\\n}\\n.hover-content {\\n position: absolute;\\n border: 1px solid var(--Dash-Tooltip-Border-Color);\\n border-radius: 2px;\\n padding: 5px 10px;\\n background: var(--Dash-Tooltip-Background-Color);\\n white-space: nowrap;\\n z-index: var(--Dash-Tooltip-ZIndex);\\n pointer-events: var(--Dash-Tooltip-PointerEvents);\\n box-shadow: 0px 10px 38px -10px var(--Dash-Shading-Strong),\\n 0px 10px 20px -15px var(--Dash-Shading-Weak);\\n}\\n.hover .hover-content,\\n.hover-right .hover-content {\\n transform: translate(0, -50%);\\n}\\n.hover-left .hover-content {\\n transform: translate(-100%, -50%);\\n}\\n.hover-top .hover-content {\\n transform: translate(-50%, -100%);\\n}\\n.hover-bottom .hover-content {\\n transform: translate(-50%, 0);\\n}\\n/* Add a small triangle on the left side of the box */\\n.hover:before,\\n.hover:after {\\n content: '';\\n width: 0;\\n height: 0;\\n position: absolute;\\n border-style: solid;\\n top: -6px;\\n z-index: var(--Dash-Tooltip-ZIndex);\\n}\\n.hover:before,\\n.hover:after,\\n.hover-right:before,\\n.hover-right:after {\\n border-width: 6px 6px 6px 0;\\n}\\n.hover-top:before,\\n.hover-top:after {\\n border-width: 6px 6px 0 6px;\\n}\\n.hover-bottom:before,\\n.hover-bottom:after {\\n border-width: 0 6px 6px 6px;\\n}\\n.hover-left:before,\\n.hover-left:after {\\n border-width: 6px 0 6px 6px;\\n}\\n.hover:before,\\n.hover-right:before {\\n border-color: transparent var(--Dash-Tooltip-Border-Color) transparent\\n transparent;\\n left: -5px;\\n}\\n.hover:after,\\n.hover-right:after {\\n border-color: transparent var(--Dash-Tooltip-Background-Color) transparent\\n transparent;\\n left: -4px;\\n}\\n.hover-left:before {\\n border-color: transparent transparent transparent\\n var(--Dash-Tooltip-Border-Color);\\n left: -1px;\\n}\\n.hover-left:after {\\n border-color: transparent transparent transparent\\n var(--Dash-Tooltip-Background-Color);\\n left: -2px;\\n}\\n.hover-top:before,\\n.hover-top:after,\\n.hover-bottom:before,\\n.hover-bottom:after {\\n left: -6px;\\n}\\n.hover-bottom:before {\\n border-color: transparent transparent var(--Dash-Tooltip-Border-Color)\\n transparent;\\n}\\n.hover-bottom:after {\\n border-color: transparent transparent var(--Dash-Tooltip-Background-Color)\\n transparent;\\n top: -5px;\\n}\\n.hover-top:before {\\n border-color: var(--Dash-Tooltip-Border-Color) transparent transparent\\n transparent;\\n top: -1px;\\n}\\n.hover-top:after {\\n border-color: var(--Dash-Tooltip-Border-Color) transparent transparent\\n transparent;\\n top: -2px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/css/tooltip.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,kBAAkB;AACtB;;AAEA;IACI,kBAAkB;AACtB;AACA;IACI,uEAAuE;IACvE,4BAA4B;IAC5B,QAAQ;IACR,UAAU;AACd;AACA;IACI,6BAA6B;IAC7B,QAAQ;AACZ;AACA;IACI,4BAA4B;IAC5B,SAAS;IACT,SAAS;AACb;AACA;IACI,6BAA6B;IAC7B,SAAS;AACb;AACA;IACI,kBAAkB;IAClB,kDAAkD;IAClD,kBAAkB;IAClB,iBAAiB;IACjB,gDAAgD;IAChD,mBAAmB;IACnB,mCAAmC;IACnC,iDAAiD;IACjD;oDACgD;AACpD;AACA;;IAEI,6BAA6B;AACjC;AACA;IACI,iCAAiC;AACrC;AACA;IACI,iCAAiC;AACrC;AACA;IACI,6BAA6B;AACjC;AACA,qDAAqD;AACrD;;IAEI,WAAW;IACX,QAAQ;IACR,SAAS;IACT,kBAAkB;IAClB,mBAAmB;IACnB,SAAS;IACT,mCAAmC;AACvC;AACA;;;;IAII,2BAA2B;AAC/B;AACA;;IAEI,2BAA2B;AAC/B;AACA;;IAEI,2BAA2B;AAC/B;AACA;;IAEI,2BAA2B;AAC/B;AACA;;IAEI;mBACe;IACf,UAAU;AACd;AACA;;IAEI;mBACe;IACf,UAAU;AACd;AACA;IACI;wCACoC;IACpC,UAAU;AACd;AACA;IACI;4CACwC;IACxC,UAAU;AACd;AACA;;;;IAII,UAAU;AACd;AACA;IACI;mBACe;AACnB;AACA;IACI;mBACe;IACf,SAAS;AACb;AACA;IACI;mBACe;IACf,SAAS;AACb;AACA;IACI;mBACe;IACf,SAAS;AACb\",\"sourcesContent\":[\".dash-tooltip {\\n position: absolute;\\n}\\n\\n.hover {\\n position: absolute;\\n}\\n.hover-right {\\n /* Offset so that the triangle caret lands directly on what's hovered */\\n transform: translate(5px, 0);\\n top: 50%;\\n left: 100%;\\n}\\n.hover-left {\\n transform: translate(-5px, 0);\\n top: 50%;\\n}\\n.hover-bottom {\\n transform: translate(0, 6px);\\n top: 100%;\\n left: 50%;\\n}\\n.hover-top {\\n transform: translate(0, -5px);\\n left: 50%;\\n}\\n.hover-content {\\n position: absolute;\\n border: 1px solid var(--Dash-Tooltip-Border-Color);\\n border-radius: 2px;\\n padding: 5px 10px;\\n background: var(--Dash-Tooltip-Background-Color);\\n white-space: nowrap;\\n z-index: var(--Dash-Tooltip-ZIndex);\\n pointer-events: var(--Dash-Tooltip-PointerEvents);\\n box-shadow: 0px 10px 38px -10px var(--Dash-Shading-Strong),\\n 0px 10px 20px -15px var(--Dash-Shading-Weak);\\n}\\n.hover .hover-content,\\n.hover-right .hover-content {\\n transform: translate(0, -50%);\\n}\\n.hover-left .hover-content {\\n transform: translate(-100%, -50%);\\n}\\n.hover-top .hover-content {\\n transform: translate(-50%, -100%);\\n}\\n.hover-bottom .hover-content {\\n transform: translate(-50%, 0);\\n}\\n/* Add a small triangle on the left side of the box */\\n.hover:before,\\n.hover:after {\\n content: '';\\n width: 0;\\n height: 0;\\n position: absolute;\\n border-style: solid;\\n top: -6px;\\n z-index: var(--Dash-Tooltip-ZIndex);\\n}\\n.hover:before,\\n.hover:after,\\n.hover-right:before,\\n.hover-right:after {\\n border-width: 6px 6px 6px 0;\\n}\\n.hover-top:before,\\n.hover-top:after {\\n border-width: 6px 6px 0 6px;\\n}\\n.hover-bottom:before,\\n.hover-bottom:after {\\n border-width: 0 6px 6px 6px;\\n}\\n.hover-left:before,\\n.hover-left:after {\\n border-width: 6px 0 6px 6px;\\n}\\n.hover:before,\\n.hover-right:before {\\n border-color: transparent var(--Dash-Tooltip-Border-Color) transparent\\n transparent;\\n left: -5px;\\n}\\n.hover:after,\\n.hover-right:after {\\n border-color: transparent var(--Dash-Tooltip-Background-Color) transparent\\n transparent;\\n left: -4px;\\n}\\n.hover-left:before {\\n border-color: transparent transparent transparent\\n var(--Dash-Tooltip-Border-Color);\\n left: -1px;\\n}\\n.hover-left:after {\\n border-color: transparent transparent transparent\\n var(--Dash-Tooltip-Background-Color);\\n left: -2px;\\n}\\n.hover-top:before,\\n.hover-top:after,\\n.hover-bottom:before,\\n.hover-bottom:after {\\n left: -6px;\\n}\\n.hover-bottom:before {\\n border-color: transparent transparent var(--Dash-Tooltip-Border-Color)\\n transparent;\\n}\\n.hover-bottom:after {\\n border-color: transparent transparent var(--Dash-Tooltip-Background-Color)\\n transparent;\\n top: -5px;\\n}\\n.hover-top:before {\\n border-color: var(--Dash-Tooltip-Border-Color) transparent transparent\\n transparent;\\n top: -1px;\\n}\\n.hover-top:after {\\n border-color: var(--Dash-Tooltip-Border-Color) transparent transparent\\n transparent;\\n top: -2px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/** @type {(arr: A, iterator: (this: This | void, value: A[number], index: number, arr: A) => void, receiver: This | undefined) => void} */\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\n/** @type {(string: S, iterator: (this: This | void, value: S[number], index: number, string: S) => void, receiver: This | undefined) => void} */\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\n/** @type {(obj: O, iterator: (this: This | void, value: O[keyof O], index: keyof O, obj: O) => void, receiver: This | undefined) => void} */\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\n/** @type {(x: unknown) => x is readonly unknown[]} */\nfunction isArray(x) {\n return toStr.call(x) === '[object Array]';\n}\n\n/** @type {import('.')._internal} */\nmodule.exports = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (isArray(list)) {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bound');\n\nvar $toString = callBound('Object.prototype.toString');\n\n/** @type {import('.')} */\nvar isStandardArguments = function isArguments(value) {\n\tif (\n\t\thasToStringTag\n\t\t&& value\n\t\t&& typeof value === 'object'\n\t\t&& Symbol.toStringTag in value\n\t) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\n/** @type {import('.')} */\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null\n\t\t&& typeof value === 'object'\n\t\t&& 'length' in value\n\t\t&& typeof value.length === 'number'\n\t\t&& value.length >= 0\n\t\t&& $toString(value) !== '[object Array]'\n\t\t&& 'callee' in value\n\t\t&& $toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\n// @ts-expect-error TODO make this not error\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\n/** @type {import('.')} */\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar callBound = require('call-bound');\nvar safeRegexTest = require('safe-regex-test');\nvar isFnRegex = safeRegexTest(/^\\s*(?:function)?\\*/);\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = require('get-proto');\n\nvar toStr = callBound('Object.prototype.toString');\nvar fnToStr = callBound('Function.prototype.toString');\n\nvar getGeneratorFunction = require('generator-function');\n\n/** @type {import('.')} */\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex(fnToStr(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tvar GeneratorFunction = getGeneratorFunction();\n\treturn GeneratorFunction && getProto(fn) === GeneratorFunction.prototype;\n};\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar callBound = require('call-bound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar gOPD = require('gopd');\n\n/** @type {import('.')} */\nvar fn;\n\nif (hasToStringTag) {\n\t/** @type {(receiver: ThisParameterType, ...args: Parameters) => ReturnType} */\n\tvar $exec = callBound('RegExp.prototype.exec');\n\t/** @type {object} */\n\tvar isRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\t/** @type {{ toString(): never, valueOf(): never, [Symbol.toPrimitive]?(): never }} */\n\tvar badStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n\n\t/** @type {import('.')} */\n\t// @ts-expect-error TS can't figure out that the $exec call always throws\n\t// eslint-disable-next-line consistent-return\n\tfn = function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {NonNullable} */ (gOPD)(/** @type {{ lastIndex?: unknown }} */ (value), 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && hasOwn(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\t$exec(value, /** @type {string} */ (/** @type {unknown} */ (badStringifier)));\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t};\n} else {\n\t/** @type {(receiver: ThisParameterType, ...args: Parameters) => ReturnType} */\n\tvar $toString = callBound('Object.prototype.toString');\n\t/** @const @type {'[object RegExp]'} */\n\tvar regexClass = '[object RegExp]';\n\n\t/** @type {import('.')} */\n\tfn = function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n}\n\nmodule.exports = fn;\n","'use strict';\r\n\r\n/**\r\n * Is this string all whitespace?\r\n * This solution kind of makes my brain hurt, but it's significantly faster\r\n * than !str.trim() or any other solution I could find.\r\n *\r\n * whitespace codes from: http://en.wikipedia.org/wiki/Whitespace_character\r\n * and verified with:\r\n *\r\n * for(var i = 0; i < 65536; i++) {\r\n * var s = String.fromCharCode(i);\r\n * if(+s===0 && !s.trim()) console.log(i, s);\r\n * }\r\n *\r\n * which counts a couple of these as *not* whitespace, but finds nothing else\r\n * that *is* whitespace. Note that charCodeAt stops at 16 bits, but it appears\r\n * that there are no whitespace characters above this, and code points above\r\n * this do not map onto white space characters.\r\n */\r\n\r\nmodule.exports = function(str){\r\n var l = str.length,\r\n a;\r\n for(var i = 0; i < l; i++) {\r\n a = str.charCodeAt(i);\r\n if((a < 9 || a > 13) && (a !== 32) && (a !== 133) && (a !== 160) &&\r\n (a !== 5760) && (a !== 6158) && (a < 8192 || a > 8205) &&\r\n (a !== 8232) && (a !== 8233) && (a !== 8239) && (a !== 8287) &&\r\n (a !== 8288) && (a !== 12288) && (a !== 65279)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar objectKeys = require('object-keys');\nvar hasSymbols = require('has-symbols/shams')();\nvar callBound = require('call-bound');\nvar $Object = require('es-object-atoms');\nvar $push = callBound('Array.prototype.push');\nvar $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar originalGetSymbols = hasSymbols ? $Object.getOwnPropertySymbols : null;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function assign(target, source1) {\n\tif (target == null) { throw new TypeError('target must be an object'); }\n\tvar to = $Object(target); // step 1\n\tif (arguments.length === 1) {\n\t\treturn to; // step 2\n\t}\n\tfor (var s = 1; s < arguments.length; ++s) {\n\t\tvar from = $Object(arguments[s]); // step 3.a.i\n\n\t\t// step 3.a.ii:\n\t\tvar keys = objectKeys(from);\n\t\tvar getSymbols = hasSymbols && ($Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tvar syms = getSymbols(from);\n\t\t\tfor (var j = 0; j < syms.length; ++j) {\n\t\t\t\tvar key = syms[j];\n\t\t\t\tif ($propIsEnumerable(from, key)) {\n\t\t\t\t\t$push(keys, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// step 3.a.iii:\n\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\tvar nextKey = keys[i];\n\t\t\tif ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2\n\t\t\t\tvar propValue = from[nextKey]; // step 3.a.iii.2.a\n\t\t\t\tto[nextKey] = propValue; // step 3.a.iii.2.b\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to; // step 4\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float16Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar callBound = require('call-bound');\nvar isRegex = require('is-regex');\n\nvar $exec = callBound('RegExp.prototype.exec');\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function regexTester(regex) {\n\tif (!isRegex(regex)) {\n\t\tthrow new $TypeError('`regex` must be a RegExp');\n\t}\n\treturn function test(s) {\n\t\treturn $exec(regex, s) !== null;\n\t};\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","/* \n(The MIT License)\nCopyright (c) 2014-2021 Halász Ádám \nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n// Unique Hexatridecimal ID Generator\n// ================================================\n\n// Dependencies\n// ================================================\nvar pid = typeof process !== 'undefined' && process.pid ? process.pid.toString(36) : '' ;\nvar address = '';\nif(typeof __webpack_require__ !== 'function' && typeof require !== 'undefined'){\n var mac = '', os = require('os'); \n if(os.networkInterfaces) var networkInterfaces = os.networkInterfaces();\n if(networkInterfaces){\n loop:\n for(let interface_key in networkInterfaces){\n const networkInterface = networkInterfaces[interface_key];\n const length = networkInterface.length;\n for(var i = 0; i < length; i++){\n if(networkInterface[i] !== undefined && networkInterface[i].mac && networkInterface[i].mac != '00:00:00:00:00:00'){\n mac = networkInterface[i].mac; break loop;\n }\n }\n }\n address = mac ? parseInt(mac.replace(/\\:|\\D+/gi, '')).toString(36) : '' ;\n }\n} \n\n// Exports\n// ================================================\nmodule.exports = module.exports.default = function(prefix, suffix){ return (prefix ? prefix : '') + address + pid + now().toString(36) + (suffix ? suffix : ''); }\nmodule.exports.process = function(prefix, suffix){ return (prefix ? prefix : '') + pid + now().toString(36) + (suffix ? suffix : ''); }\nmodule.exports.time = function(prefix, suffix){ return (prefix ? prefix : '') + now().toString(36) + (suffix ? suffix : ''); }\n\n// Helpers\n// ================================================\nfunction now(){\n var time = Date.now();\n var last = now.last || time;\n return now.last = time > last ? time : last + 1;\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bound');\nvar gOPD = require('gopd');\nvar getProto = require('get-proto');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\n\n/** @import { BoundSet, BoundSlice, Cache, Getter } from './types' */\n/** @import { TypedArrayName } from '.' */\n\n/** @type {(array: readonly T[], value: unknown) => number} */\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n/** @type {Cache} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getProto) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr && getProto) {\n\t\t\tvar proto = getProto(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor && proto) {\n\t\t\t\tvar superProto = getProto(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\tif (descriptor && descriptor.get) {\n\t\t\t\tvar bound = callBind(descriptor.get);\n\t\t\t\tcache[\n\t\t\t\t\t/** @type {`$${TypedArrayName}`} */\n\t\t\t\t\t('$' + typedArray)\n\t\t\t\t] = bound;\n\t\t\t}\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\tvar bound = /** @type {BoundSlice | BoundSet} */ (\n\t\t\t\t// @ts-expect-error TODO FIXME\n\t\t\t\tcallBind(fn)\n\t\t\t);\n\t\t\tcache[\n\t\t\t\t/** @type {`$${TypedArrayName}`} */\n\t\t\t\t('$' + typedArray)\n\t\t\t] = bound;\n\t\t}\n\t});\n}\n\n/** @type {(value: object) => false | TypedArrayName} */\nfunction tryTypedArrays(value) {\n\t/** @type {ReturnType} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`$${TypedArrayName}`, Getter>} */ (cache),\n\t\t/** @param {Getter} getter @param {`$${TypedArrayName}`} typedArray */\n\t\tfunction (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = /** @type {TypedArrayName} */ ($slice(typedArray, 1));\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n}\n\n/** @type {(value: object) => false | TypedArrayName} */\nfunction trySlices(value) {\n\t/** @type {ReturnType} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`$${TypedArrayName}`, Getter>} */(cache),\n\t\t/** @param {Getter} getter @param {`$${TypedArrayName}`} name */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = /** @type {TypedArrayName} */ ($slice(name, 1));\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n}\n\n/** @type {(tag: unknown) => tag is typeof typedArrays[number]} */\nfunction isTATag(tag) {\n\treturn $indexOf(typedArrays, tag) > -1;\n}\n\n/**\n * @type {import('.')}\n * @param {unknown} value\n */\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif (isTATag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","module.exports = (window.ReactJSXRuntime || (window.ReactJSXRuntime = (function (React) {\n function jsx(type, config, maybeKey) {\n var props = {};\n var children = null;\n if (config != null) {\n if (config.key !== undefined) {\n props.key = '' + config.key;\n }\n for (var propName in config) {\n if (\n Object.prototype.hasOwnProperty.call(config, propName) &&\n propName !== 'key' &&\n propName !== '__self' &&\n propName !== '__source'\n ) {\n if (propName === 'children') {\n children = config[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n }\n if (maybeKey !== undefined) {\n props.key = '' + maybeKey;\n }\n if (children === null || children === undefined) {\n return React.createElement(type, props);\n }\n return Array.isArray(children)\n ? React.createElement.apply(React, [type, props].concat(children))\n : React.createElement(type, props, children);\n }\n return {jsx: jsx, jsxs: jsx, jsxDEV: jsx, Fragment: React.Fragment};\n})(window.React)));","module.exports = window[\"PropTypes\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDayOfYear} function options.\n */\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date, options) {\n const _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfYear} function options.\n */\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date, options) {\n const date_ = toDate(date, options?.in);\n date_.setFullYear(date_.getFullYear(), 0, 1);\n date_.setHours(0, 0, 0, 0);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\n\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(+date / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n return addLeadingZeros(+date, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date, options?.in);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeek} function options.\n */\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(options?.in || date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(options?.in || date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(options?.in || date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (+_date >= +startOfNextYear) {\n return year + 1;\n } else if (+_date >= +startOfThisYear) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertible into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n return !((!isDate(date) && typeof date !== \"number\") || isNaN(+toDate(date)));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import {\n millisecondsInHour,\n millisecondsInMinute,\n} from \"./constants.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link parseISO} function options.\n */\n\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n * @param options - An object with options\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport function parseISO(argument, options) {\n const invalidDate = () => constructFrom(options?.in, NaN);\n\n const additionalDigits = options?.additionalDigits ?? 2;\n const dateStrings = splitDateString(argument);\n\n let date;\n if (dateStrings.date) {\n const parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(+date)) return invalidDate();\n\n const timestamp = +date;\n let time = 0;\n let offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) return invalidDate();\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) return invalidDate();\n } else {\n const tmpDate = new Date(timestamp + time);\n const result = toDate(0, options?.in);\n result.setFullYear(\n tmpDate.getUTCFullYear(),\n tmpDate.getUTCMonth(),\n tmpDate.getUTCDate(),\n );\n result.setHours(\n tmpDate.getUTCHours(),\n tmpDate.getUTCMinutes(),\n tmpDate.getUTCSeconds(),\n tmpDate.getUTCMilliseconds(),\n );\n return result;\n }\n\n return toDate(timestamp + time + offset, options?.in);\n}\n\nconst patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/,\n};\n\nconst dateRegex =\n /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nconst timeRegex =\n /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nconst timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n\nfunction splitDateString(dateString) {\n const dateStrings = {};\n const array = dateString.split(patterns.dateTimeDelimiter);\n let timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(\n dateStrings.date.length,\n dateString.length,\n );\n }\n }\n\n if (timeString) {\n const token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], \"\");\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n const regex = new RegExp(\n \"^(?:(\\\\d{4}|[+-]\\\\d{\" +\n (4 + additionalDigits) +\n \"})|(\\\\d{2}|[+-]\\\\d{\" +\n (2 + additionalDigits) +\n \"})$)\",\n );\n\n const captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return { year: NaN, restDateString: \"\" };\n\n const year = captures[1] ? parseInt(captures[1]) : null;\n const century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length),\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n\n const captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n\n const isWeekDate = !!captures[4];\n const dayOfYear = parseDateUnit(captures[1]);\n const month = parseDateUnit(captures[2]) - 1;\n const day = parseDateUnit(captures[3]);\n const week = parseDateUnit(captures[4]);\n const dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n const date = new Date(0);\n if (\n !validateDate(year, month, day) ||\n !validateDayOfYearDate(year, dayOfYear)\n ) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n const captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n const hours = parseTimeUnit(captures[1]);\n const minutes = parseTimeUnit(captures[2]);\n const seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return (\n hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000\n );\n}\n\nfunction parseTimeUnit(value) {\n return (value && parseFloat(value.replace(\",\", \".\"))) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === \"Z\") return 0;\n\n const captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n\n const sign = captures[1] === \"+\" ? -1 : 1;\n const hours = parseInt(captures[2]);\n const minutes = (captures[3] && parseInt(captures[3])) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n const date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n const fourthOfJanuaryDay = date.getUTCDay() || 7;\n const diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nconst daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n\nfunction validateDate(year, month, date) {\n return (\n month >= 0 &&\n month <= 11 &&\n date >= 1 &&\n date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28))\n );\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return (\n seconds >= 0 &&\n seconds < 60 &&\n minutes >= 0 &&\n minutes < 60 &&\n hours >= 0 &&\n hours < 25\n );\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\n\n// Fallback for modularized imports:\nexport default parseISO;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","'use strict';\n\n// eslint-disable-next-line no-extra-parens, no-empty-function\nconst cached = /** @type {GeneratorFunctionConstructor} */ (function* () {}.constructor);\n\n/** @type {import('.')} */\nmodule.exports = () => cached;\n\n","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n * list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n * R.append('tests', []); //=> ['tests']\n * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\nvar append = /*#__PURE__*/_curry2(function append(el, list) {\n return _concat(list, [el]);\n});\nexport default append;","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n idx = 0;\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n idx = 0;\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n return result;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport _isString from \"./internal/_isString.js\";\nimport toString from \"./toString.js\";\n\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n * R.concat('ABC', 'DEF'); // 'ABCDEF'\n * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n * R.concat([], []); //=> []\n */\nvar concat = /*#__PURE__*/_curry2(function concat(a, b) {\n if (_isArray(a)) {\n if (_isArray(b)) {\n return a.concat(b);\n }\n throw new TypeError(toString(b) + ' is not an array');\n }\n if (_isString(a)) {\n if (_isString(b)) {\n return a + b;\n }\n throw new TypeError(toString(b) + ' is not a string');\n }\n if (a != null && _isFunction(a['fantasy-land/concat'])) {\n return a['fantasy-land/concat'](b);\n }\n if (a != null && _isFunction(a.concat)) {\n return a.concat(b);\n }\n throw new TypeError(toString(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\nexport default concat;","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n return list;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparison of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n var b = _arrayFromIterator(bIterator);\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n }\n\n // if *a* array contains any element that is not included in *b*\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n var typeA = type(a);\n if (typeA !== type(b)) {\n return false;\n }\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n break;\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n break;\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n break;\n case 'Error':\n return a.name === b.name && a.message === b.message;\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n break;\n }\n var idx = stackA.length - 1;\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n idx -= 1;\n }\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n var keysA = keys(a);\n if (keysA.length !== keys(b).length) {\n return false;\n }\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n while (idx >= 0) {\n var key = keysA[idx];\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n idx -= 1;\n }\n return true;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\nvar equals = /*#__PURE__*/_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\nexport default equals;","import _xfBase from \"./_xfBase.js\";\nvar XFilter = /*#__PURE__*/function () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n return XFilter;\n}();\nexport default function _xfilter(f) {\n return function (xf) {\n return new XFilter(f, xf);\n };\n}","import _arrayReduce from \"./internal/_arrayReduce.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _filter from \"./internal/_filter.js\";\nimport _filterMap from \"./internal/_filterMap.js\";\nimport _isMap from \"./internal/_isMap.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _xfilter from \"./internal/_xfilter.js\";\nimport keys from \"./keys.js\";\n\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects, Maps, or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @category Object\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * const isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar filter = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/filter', 'filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _arrayReduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n return acc;\n }, {}, keys(filterable)) : _isMap(filterable) ? _filterMap(pred, filterable) :\n // else\n _filter(pred, filterable);\n}));\nexport default filter;","export default function _arrayReduce(reducer, acc, list) {\n var index = 0;\n var length = list.length;\n while (index < length) {\n acc = reducer(acc, list[index]);\n index += 1;\n }\n return acc;\n}","export default function _isMap(x) {\n return Object.prototype.toString.call(x) === '[object Map]';\n}","export default function _filterMap(fn, map) {\n var result = new Map();\n var iterator = map.entries();\n var current = iterator.next();\n while (!current.done) {\n if (fn(current.value[1])) {\n result.set(current.value[0], current.value[1]);\n }\n current = iterator.next();\n }\n return result;\n}","export default function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n return result;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _has from \"./internal/_has.js\";\nimport isNil from \"./isNil.js\";\n\n/**\n * Returns whether or not a path exists in an object. Only the object's\n * own properties are checked.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @typedefn Idx = String | Int | Symbol\n * @sig [Idx] -> {a} -> Boolean\n * @param {Array} path The path to use.\n * @param {Object} obj The object to check the path in.\n * @return {Boolean} Whether the path exists.\n * @see R.has\n * @example\n *\n * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true\n * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true\n * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false\n * R.hasPath(['a', 'b'], {}); // => false\n */\nvar hasPath = /*#__PURE__*/_curry2(function hasPath(_path, obj) {\n if (_path.length === 0 || isNil(obj)) {\n return false;\n }\n var val = obj;\n var idx = 0;\n while (idx < _path.length) {\n if (!isNil(val) && _has(_path[idx], val)) {\n val = val[_path[idx]];\n idx += 1;\n } else {\n return false;\n }\n }\n return true;\n});\nexport default hasPath;","import _curry2 from \"./internal/_curry2.js\";\nimport hasPath from \"./hasPath.js\";\n\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * const hasName = R.has('name');\n * hasName({name: 'alice'}); //=> true\n * hasName({name: 'bob'}); //=> true\n * hasName({}); //=> false\n *\n * const point = {x: 0, y: 0};\n * const pointHas = R.has(R.__, point);\n * pointHas('x'); //=> true\n * pointHas('y'); //=> true\n * pointHas('z'); //=> false\n */\nvar has = /*#__PURE__*/_curry2(function has(prop, obj) {\n return hasPath([prop], obj);\n});\nexport default has;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Also works with strings.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.includes(3, [1, 2, 3]); //=> true\n * R.includes(4, [1, 2, 3]); //=> false\n * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.includes([42], [[42]]); //=> true\n * R.includes('ba', 'banana'); //=>true\n */\nvar includes = /*#__PURE__*/_curry2(_includes);\nexport default includes;","import _isPlaceholder from \"./_isPlaceholder.js\";\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer created by [transducerCreator] to return a new transformer\n * (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} transducerCreator transducer factory if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\nexport default function _dispatchable(methodNames, transducerCreator, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n var obj = arguments[arguments.length - 1];\n if (!_isArray(obj)) {\n var idx = 0;\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1));\n }\n idx += 1;\n }\n if (_isTransformer(obj)) {\n var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1));\n return transducer(obj);\n }\n }\n return fn.apply(this, arguments);\n };\n}","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _indexOf from \"./_indexOf.js\";\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","import equals from \"../equals.js\";\nexport default function _indexOf(list, a, idx) {\n var inf, item;\n // Array.prototype.indexOf doesn't exist below IE9\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n while (idx < list.length) {\n item = list[idx];\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n }\n // non-zero numbers can utilise Set\n return list.indexOf(a, idx);\n\n // all these types can utilise Set\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n }\n }\n // anything else not covered above, defer to R.equals\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\nvar _isArguments = /*#__PURE__*/function () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\nexport default _isArguments;","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","export default function _isFunction(x) {\n var type = Object.prototype.toString.call(x);\n return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]';\n}","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _curry1 from \"./internal/_curry1.js\";\n\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\nvar isNil = /*#__PURE__*/_curry1(function isNil(x) {\n return x == null;\n});\nexport default isNil;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\";\n\n// cover IE < 9 keys issues\nvar hasEnumBug = ! /*#__PURE__*/{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n// Safari bug\nvar hasArgsEnumBug = /*#__PURE__*/function () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\nvar contains = function contains(list, item) {\n var idx = 0;\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n idx += 1;\n }\n return false;\n};\n\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values, R.toPairs\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) : /*#__PURE__*/_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n var prop, nIdx;\n var ks = [];\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n nIdx -= 1;\n }\n }\n return ks;\n});\nexport default keys;","import _curry2 from \"./internal/_curry2.js\";\n\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\nvar omit = /*#__PURE__*/_curry2(function omit(names, obj) {\n var result = {};\n var index = {};\n var idx = 0;\n var len = names.length;\n while (idx < len) {\n index[names[idx]] = 1;\n idx += 1;\n }\n for (var prop in obj) {\n if (!index.hasOwnProperty(prop)) {\n result[prop] = obj[prop];\n }\n }\n return result;\n});\nexport default omit;","import _curry2 from \"./internal/_curry2.js\";\n\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\nvar pick = /*#__PURE__*/_curry2(function pick(names, obj) {\n var result = {};\n var idx = 0;\n while (idx < names.length) {\n if (names[idx] in obj) {\n result[names[idx]] = obj[names[idx]];\n }\n idx += 1;\n }\n return result;\n});\nexport default pick;","import _complement from \"./internal/_complement.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport filter from \"./filter.js\";\n\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * const isOdd = (n) => n % 2 !== 0;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar reject = /*#__PURE__*/_curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\nexport default reject;","export default function _complement(f) {\n return function () {\n return !f.apply(this, arguments);\n };\n}","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n return result;\n}","export default function _quote(s) {\n var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}","/**\n * Polyfill from .\n */\nvar pad = function pad(n) {\n return (n < 10 ? '0' : '') + n;\n};\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n return d.toISOString();\n} : function _toISOString(d) {\n return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\nexport default _toISOString;","import _includes from \"./_includes.js\";\nimport _map from \"./_map.js\";\nimport _quote from \"./_quote.js\";\nimport _toISOString from \"./_toISOString.js\";\nimport keys from \"../keys.js\";\nimport reject from \"../reject.js\";\nexport default function _toString(x, seen) {\n var recur = function recur(y) {\n var xs = seen.concat([x]);\n return _includes(y, xs) ? '' : _toString(y, xs);\n };\n\n // mapPairs :: (Object, [String]) -> [String]\n var mapPairs = function (obj, keys) {\n return _map(function (k) {\n return _quote(k) + ': ' + recur(obj[k]);\n }, keys.slice().sort());\n };\n switch (Object.prototype.toString.call(x)) {\n case '[object Arguments]':\n return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n case '[object Array]':\n return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n return /^\\d+$/.test(k);\n }, keys(x)))).join(', ') + ']';\n case '[object Boolean]':\n return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n case '[object Date]':\n return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n case '[object Map]':\n return 'new Map(' + recur(Array.from(x)) + ')';\n case '[object Null]':\n return 'null';\n case '[object Number]':\n return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n case '[object Set]':\n return 'new Set(' + recur(Array.from(x).sort()) + ')';\n case '[object String]':\n return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n case '[object Undefined]':\n return 'undefined';\n default:\n if (typeof x.toString === 'function') {\n var repr = x.toString();\n if (repr !== '[object Object]') {\n return repr;\n }\n }\n return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n }\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _toString from \"./internal/_toString.js\";\n\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n * function Point(x, y) {\n * this.x = x;\n * this.y = y;\n * }\n *\n * Point.prototype.toString = function() {\n * return 'new Point(' + this.x + ', ' + this.y + ')';\n * };\n *\n * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n * R.toString(42); //=> '42'\n * R.toString('abc'); //=> '\"abc\"'\n * R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\nvar toString = /*#__PURE__*/_curry1(function toString(val) {\n return _toString(val, []);\n});\nexport default toString;","import _curry1 from \"./internal/_curry1.js\";\n\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig * -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(new Map); //=> \"Map\"\n * R.type(new Set); //=> \"Set\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(async () => {}); //=> \"AsyncFunction\"\n * R.type(undefined); //=> \"Undefined\"\n * R.type(BigInt(123)); //=> \"BigInt\"\n */\nvar type = /*#__PURE__*/_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\nexport default type;","import _includes from \"./_includes.js\";\nvar _Set = /*#__PURE__*/function () {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n }\n // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n _Set.prototype.add = function (item) {\n return !hasOrAdd(item, true, this);\n };\n\n //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n _Set.prototype.has = function (item) {\n return hasOrAdd(item, false, this);\n };\n\n //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n return _Set;\n}();\nfunction hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n return false;\n }\n }\n // these types can all utilise the native Set\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n return false;\n }\n }\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n return false;\n }\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n return false;\n }\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n return false;\n }\n return true;\n }\n /* falls through */\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n // scan through all previously applied items\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n}\n\n// A simple Set type that honours R.equals semantics\nexport default _Set;","import _curry2 from \"./internal/_curry2.js\";\nimport _Set from \"./internal/_Set.js\";\nimport reject from \"./reject.js\";\n\n/**\n * Returns a new list without values in the first argument.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce, R.difference, R.remove\n * @example\n *\n * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\nvar without = /*#__PURE__*/_curry2(function without(xs, list) {\n var toRemove = new _Set();\n for (var i = 0; i < xs.length; i += 1) {\n toRemove.add(xs[i]);\n }\n return reject(toRemove.has.bind(toRemove), list);\n});\nexport default without;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// wrap a concatenated module body as a lazy, memoized accessor; mod is\n// set before the body runs so re-entrant calls (require cycles) observe\n// the partial exports like Node.js\n__webpack_require__.cw = function(body) {\n\tvar mod;\n\treturn function() {\n\t\tif (body) {\n\t\t\tvar fn = body;\n\t\t\tbody = 0;\n\t\t\tmod = { exports: {} };\n\t\t\tfn.call(mod.exports, mod, mod.exports);\n\t\t}\n\t\treturn mod.exports;\n\t};\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) { return {\"81\":\"async-mathjax\",\"113\":\"async-upload\",\"157\":\"async-dropdown\",\"254\":\"async-highlight\",\"384\":\"dash_core_components-shared\",\"400\":\"async-datepicker\",\"641\":\"async-markdown\",\"737\":\"async-slider\",\"746\":\"async-graph\"}[chunkId] + \".js\"; };","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); };","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^https?:/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:|[?#].*$/g, \"\").replace(/\\/[^/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","var getCurrentScript = function() {\n var script = document.currentScript;\n if (!script) {\n /* Shim for IE11 and below */\n /* Do not take into account async scripts and inline scripts */\n\n var doc_scripts = document.getElementsByTagName('script');\n var scripts = [];\n\n for (var i = 0; i < doc_scripts.length; i++) {\n scripts.push(doc_scripts[i]);\n }\n\n scripts = scripts.filter(function(s) { return !s.async && !s.text && !s.textContent; });\n script = scripts.slice(-1)[0];\n }\n\n return script;\n};\n\nvar isLocalScript = function(script) {\n return /\\/_dash-component-suites\\//.test(script.src);\n};\n\nObject.defineProperty(__webpack_require__, 'p', {\n get: (function () {\n var script = getCurrentScript();\n\n var url = script.src.split('/').slice(0, -1).join('/') + '/';\n\n return function() {\n return url;\n };\n })()\n});\n\nif (typeof jsonpScriptSrc !== 'undefined') {\n var __jsonpScriptSrc__ = jsonpScriptSrc;\n jsonpScriptSrc = function(chunkId) {\n var script = getCurrentScript();\n var isLocal = isLocalScript(script);\n\n var src = __jsonpScriptSrc__(chunkId);\n\n if(!isLocal) {\n return src;\n }\n\n var srcFragments = src.split('/');\n var fileFragments = srcFragments.slice(-1)[0].split('.');\n\n fileFragments.splice(1, 0, \"v4_5_3m1793300642\");\n srcFragments.splice(-1, 1, fileFragments.join('.'))\n\n return srcFragments.join('/');\n };\n}\n","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\terror.event = event;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(__webpack_require__.p + __webpack_require__.u(chunkId), loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdash_core_components\"] = self[\"webpackChunkdash_core_components\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./button.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./button.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport {ButtonProps} from '../types';\nimport './css/button.css';\n\n/**\n * Similar to dash.html.Button, but with theming and styles applied.\n */\nconst Button = ({\n setProps,\n n_blur = 0,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n n_blur_timestamp = -1,\n n_clicks = 0,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n n_clicks_timestamp = -1,\n type = 'button',\n className,\n children,\n ...props\n}: ButtonProps) => {\n const ctx = window.dash_component_api.useDashContext();\n const isLoading = ctx.useLoading();\n\n return (\n {\n setProps({\n n_blur: n_blur + 1,\n n_blur_timestamp: Date.now(),\n });\n }}\n onClick={() => {\n setProps({\n n_clicks: n_clicks + 1,\n n_clicks_timestamp: Date.now(),\n });\n }}\n type={type}\n {...props}\n >\n {children}\n \n );\n};\n\nexport default Button;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./checklist.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./checklist.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {useMemo} from 'react';\nimport {ChecklistProps, PersistedProps, PersistenceTypes} from '../types';\nimport './css/checklist.css';\n\nimport {sanitizeOptions} from '../utils/optionTypes';\nimport LoadingElement from '../utils/_LoadingElement';\nimport {OptionsList} from '../utils/optionRendering';\n\n/**\n * Checklist is a component that encapsulates several checkboxes.\n * The values and labels of the checklist are specified in the `options`\n * property and the checked items are specified with the `value` property.\n * Each checkbox is rendered as an input with a surrounding label.\n */\nexport default function Checklist({\n className,\n id,\n style,\n setProps,\n inputStyle = {},\n inputClassName = '',\n labelStyle = {},\n labelClassName = '',\n options = [],\n value = [],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n inline = false,\n}: ChecklistProps) {\n const sanitizedOptions = useMemo(() => {\n return sanitizeOptions(options).options;\n }, [options]);\n\n const stylingProps = {\n id,\n className: 'dash-checklist ' + (className ?? ''),\n style,\n optionClassName: inline ? 'dash-checklist-inline' : undefined,\n inputStyle,\n inputClassName,\n labelStyle,\n labelClassName,\n };\n\n return (\n \n {loadingProps => (\n {\n setProps({value: selection});\n }}\n {...stylingProps}\n />\n )}\n \n );\n}\n\nChecklist.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/i; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY].concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n // For example \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\n\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\n\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard (_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon (_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.4\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = 'far' in styles;\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\nbuild();\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nvar disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser (node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser (node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\nfunction transformParser (node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser (node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser (node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser (node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\n\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\n\nvar styles$2 = namespace.styles;\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements (root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css () {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library =\n/*#__PURE__*/\nfunction () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// Get CSS class list from a props object\nfunction classList(props) {\n var _classes;\n\n var beat = props.beat,\n fade = props.fade,\n beatFade = props.beatFade,\n bounce = props.bounce,\n shake = props.shake,\n flash = props.flash,\n spin = props.spin,\n spinPulse = props.spinPulse,\n spinReverse = props.spinReverse,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-beat': beat,\n 'fa-fade': fade,\n 'fa-beat-fade': beatFade,\n 'fa-bounce': bounce,\n 'fa-shake': shake,\n 'fa-flash': flash,\n 'fa-spin': spin,\n 'fa-spin-reverse': spinReverse,\n 'fa-spin-pulse': spinPulse,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip': flip === true,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n}\n\n// Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nvar _excluded$1 = [\"style\"];\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, _excluded$1);\n\n mixins.attrs['style'] = _objectSpread2(_objectSpread2({}, mixins.attrs['style']), existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2(_objectSpread2({}, mixins.attrs), remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log () {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n}\n\nfunction normalizeIconArgs(icon) {\n // this has everything that it needs to be rendered which means it was probably imported\n // directly from an icon svg package\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName && icon.icon) {\n return icon;\n }\n\n if (parse.icon) {\n return parse.icon(icon);\n } // if the icon is null, there's nothing to do\n\n\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (icon && _typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n}\n\n// creates an object with a key of key\n// and a value of value\n// if certain conditions are met\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nvar _excluded = [\"forwardedRef\"];\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title,\n titleId = props.titleId,\n maskId = props.maskId;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, classes), transform), mask), {}, {\n symbol: symbol,\n title: title,\n titleId: titleId,\n maskId: maskId\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n beat: PropTypes.bool,\n border: PropTypes.bool,\n beatFade: PropTypes.bool,\n bounce: PropTypes.bool,\n className: PropTypes.string,\n fade: PropTypes.bool,\n flash: PropTypes.bool,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n maskId: PropTypes.string,\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf([true, false, 'horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n shake: PropTypes.bool,\n size: PropTypes.oneOf(['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n spinPulse: PropTypes.bool,\n spinReverse: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n titleId: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n maskId: null,\n fixedWidth: false,\n inverse: false,\n flip: false,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n spinPulse: false,\n spinReverse: false,\n beat: false,\n fade: false,\n beatFade: false,\n bounce: false,\n shake: false,\n symbol: false,\n title: '',\n titleId: null,\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\n\nexport { FontAwesomeIcon };\n","/*!\n * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nvar prefix = \"far\";\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [448, 512, [], \"f2b9\", \"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [], \"f2bb\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z\"]\n};\nvar faAngry = {\n prefix: 'far',\n iconName: 'angry',\n icon: [496, 512, [], \"f556\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z\"]\n};\nvar faArrowAltCircleDown = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-down',\n icon: [512, 512, [], \"f358\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"]\n};\nvar faArrowAltCircleLeft = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-left',\n icon: [512, 512, [], \"f359\", \"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"]\n};\nvar faArrowAltCircleRight = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-right',\n icon: [512, 512, [], \"f35a\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"]\n};\nvar faArrowAltCircleUp = {\n prefix: 'far',\n iconName: 'arrow-alt-circle-up',\n icon: [512, 512, [], \"f35b\", \"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"]\n};\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [], \"f0f3\", \"M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [], \"f1f6\", \"M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [], \"f02e\", \"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"]\n};\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [448, 512, [], \"f1ad\", \"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [], \"f133\", \"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"]\n};\nvar faCalendarAlt = {\n prefix: 'far',\n iconName: 'calendar-alt',\n icon: [448, 512, [], \"f073\", \"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"]\n};\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCalendarTimes = {\n prefix: 'far',\n iconName: 'calendar-times',\n icon: [448, 512, [], \"f273\", \"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareDown = {\n prefix: 'far',\n iconName: 'caret-square-down',\n icon: [448, 512, [], \"f150\", \"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareLeft = {\n prefix: 'far',\n iconName: 'caret-square-left',\n icon: [448, 512, [], \"f191\", \"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareRight = {\n prefix: 'far',\n iconName: 'caret-square-right',\n icon: [448, 512, [], \"f152\", \"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faCaretSquareUp = {\n prefix: 'far',\n iconName: 'caret-square-up',\n icon: [448, 512, [], \"f151\", \"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [], \"f080\", \"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\"]\n};\nvar faCheckCircle = {\n prefix: 'far',\n iconName: 'check-circle',\n icon: [512, 512, [], \"f058\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"]\n};\nvar faCheckSquare = {\n prefix: 'far',\n iconName: 'check-square',\n icon: [448, 512, [], \"f14a\", \"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"]\n};\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [], \"f111\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"]\n};\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [], \"f328\", \"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"]\n};\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [], \"f017\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"]\n};\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [512, 512, [], \"f20a\", \"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"]\n};\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [], \"f075\", \"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faCommentAlt = {\n prefix: 'far',\n iconName: 'comment-alt',\n icon: [512, 512, [], \"f27a\", \"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"]\n};\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [], \"f4ad\", \"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"]\n};\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [576, 512, [], \"f086\", \"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"]\n};\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [496, 512, [], \"f14e\", \"M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"]\n};\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [], \"f1f9\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [], \"f09d\", \"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"]\n};\nvar faDizzy = {\n prefix: 'far',\n iconName: 'dizzy',\n icon: [496, 512, [], \"f567\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"]\n};\nvar faDotCircle = {\n prefix: 'far',\n iconName: 'dot-circle',\n icon: [512, 512, [], \"f192\", \"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"]\n};\nvar faEdit = {\n prefix: 'far',\n iconName: 'edit',\n icon: [576, 512, [], \"f044\", \"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [], \"f0e0\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [], \"f2b6\", \"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"]\n};\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [], \"f06e\", \"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"]\n};\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"]\n};\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [], \"f15b\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"]\n};\nvar faFileAlt = {\n prefix: 'far',\n iconName: 'file-alt',\n icon: [384, 512, [], \"f15c\", \"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"]\n};\nvar faFileArchive = {\n prefix: 'far',\n iconName: 'file-archive',\n icon: [384, 512, [], \"f1c6\", \"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"]\n};\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"]\n};\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z\"]\n};\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"]\n};\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [], \"f1c5\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"]\n};\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [384, 512, [], \"f1c1\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"]\n};\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"]\n};\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"]\n};\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [512, 512, [], \"f024\", \"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"]\n};\nvar faFlushed = {\n prefix: 'far',\n iconName: 'flushed',\n icon: [496, 512, [], \"f579\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [], \"f07b\", \"M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z\"]\n};\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [], \"f07c\", \"M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z\"]\n};\nvar faFontAwesomeLogoFull = {\n prefix: 'far',\n iconName: 'font-awesome-logo-full',\n icon: [3992, 512, [\"Font Awesome\"], \"f4e6\", \"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"]\n};\nvar faFrown = {\n prefix: 'far',\n iconName: 'frown',\n icon: [496, 512, [], \"f119\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"]\n};\nvar faFrownOpen = {\n prefix: 'far',\n iconName: 'frown-open',\n icon: [496, 512, [], \"f57a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z\"]\n};\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [496, 512, [], \"f1e3\", \"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [576, 512, [], \"f3a5\", \"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"]\n};\nvar faGrimace = {\n prefix: 'far',\n iconName: 'grimace',\n icon: [496, 512, [], \"f57f\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z\"]\n};\nvar faGrin = {\n prefix: 'far',\n iconName: 'grin',\n icon: [496, 512, [], \"f580\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"]\n};\nvar faGrinAlt = {\n prefix: 'far',\n iconName: 'grin-alt',\n icon: [496, 512, [], \"f581\", \"M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z\"]\n};\nvar faGrinBeam = {\n prefix: 'far',\n iconName: 'grin-beam',\n icon: [496, 512, [], \"f582\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z\"]\n};\nvar faGrinBeamSweat = {\n prefix: 'far',\n iconName: 'grin-beam-sweat',\n icon: [496, 512, [], \"f583\", \"M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinHearts = {\n prefix: 'far',\n iconName: 'grin-hearts',\n icon: [496, 512, [], \"f584\", \"M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"]\n};\nvar faGrinSquint = {\n prefix: 'far',\n iconName: 'grin-squint',\n icon: [496, 512, [], \"f585\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z\"]\n};\nvar faGrinSquintTears = {\n prefix: 'far',\n iconName: 'grin-squint-tears',\n icon: [512, 512, [], \"f586\", \"M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z\"]\n};\nvar faGrinStars = {\n prefix: 'far',\n iconName: 'grin-stars',\n icon: [496, 512, [], \"f587\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z\"]\n};\nvar faGrinTears = {\n prefix: 'far',\n iconName: 'grin-tears',\n icon: [640, 512, [], \"f588\", \"M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"]\n};\nvar faGrinTongue = {\n prefix: 'far',\n iconName: 'grin-tongue',\n icon: [496, 512, [], \"f589\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faGrinTongueSquint = {\n prefix: 'far',\n iconName: 'grin-tongue-squint',\n icon: [496, 512, [], \"f58a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z\"]\n};\nvar faGrinTongueWink = {\n prefix: 'far',\n iconName: 'grin-tongue-wink',\n icon: [496, 512, [], \"f58b\", \"M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z\"]\n};\nvar faGrinWink = {\n prefix: 'far',\n iconName: 'grin-wink',\n icon: [496, 512, [], \"f58c\", \"M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [576, 512, [], \"f258\", \"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"]\n};\nvar faHandPaper = {\n prefix: 'far',\n iconName: 'hand-paper',\n icon: [448, 512, [], \"f256\", \"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"]\n};\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [448, 512, [], \"f25b\", \"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [448, 512, [], \"f0a7\", \"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"]\n};\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [448, 512, [], \"f0a6\", \"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"]\n};\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"]\n};\nvar faHandRock = {\n prefix: 'far',\n iconName: 'hand-rock',\n icon: [512, 512, [], \"f255\", \"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"]\n};\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [512, 512, [], \"f259\", \"M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"]\n};\nvar faHdd = {\n prefix: 'far',\n iconName: 'hdd',\n icon: [576, 512, [], \"f0a0\", \"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [], \"f004\", \"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [448, 512, [], \"f0f8\", \"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [], \"f254\", \"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"]\n};\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"]\n};\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [], \"f2c2\", \"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"]\n};\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"]\n};\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [], \"f11c\", \"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"]\n};\nvar faKiss = {\n prefix: 'far',\n iconName: 'kiss',\n icon: [496, 512, [], \"f596\", \"M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faKissBeam = {\n prefix: 'far',\n iconName: 'kiss-beam',\n icon: [496, 512, [], \"f597\", \"M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z\"]\n};\nvar faKissWinkHeart = {\n prefix: 'far',\n iconName: 'kiss-wink-heart',\n icon: [504, 512, [], \"f598\", \"M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z\"]\n};\nvar faLaugh = {\n prefix: 'far',\n iconName: 'laugh',\n icon: [496, 512, [], \"f599\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughBeam = {\n prefix: 'far',\n iconName: 'laugh-beam',\n icon: [496, 512, [], \"f59a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughSquint = {\n prefix: 'far',\n iconName: 'laugh-squint',\n icon: [496, 512, [], \"f59b\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLaughWink = {\n prefix: 'far',\n iconName: 'laugh-wink',\n icon: [496, 512, [], \"f59c\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [512, 512, [], \"f094\", \"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"]\n};\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"]\n};\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [352, 512, [], \"f0eb\", \"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z\"]\n};\nvar faListAlt = {\n prefix: 'far',\n iconName: 'list-alt',\n icon: [512, 512, [], \"f022\", \"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [], \"f279\", \"M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z\"]\n};\nvar faMeh = {\n prefix: 'far',\n iconName: 'meh',\n icon: [496, 512, [], \"f11a\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMehBlank = {\n prefix: 'far',\n iconName: 'meh-blank',\n icon: [496, 512, [], \"f5a4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faMehRollingEyes = {\n prefix: 'far',\n iconName: 'meh-rolling-eyes',\n icon: [496, 512, [], \"f5a5\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"]\n};\nvar faMinusSquare = {\n prefix: 'far',\n iconName: 'minus-square',\n icon: [448, 512, [], \"f146\", \"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faMoneyBillAlt = {\n prefix: 'far',\n iconName: 'money-bill-alt',\n icon: [640, 512, [], \"f3d1\", \"M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z\"]\n};\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [512, 512, [], \"f186\", \"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [576, 512, [], \"f1ea\", \"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"]\n};\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [512, 512, [], \"f247\", \"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"]\n};\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [576, 512, [], \"f248\", \"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"]\n};\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [], \"f1d8\", \"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"]\n};\nvar faPauseCircle = {\n prefix: 'far',\n iconName: 'pause-circle',\n icon: [512, 512, [], \"f28b\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"]\n};\nvar faPlayCircle = {\n prefix: 'far',\n iconName: 'play-circle',\n icon: [512, 512, [], \"f144\", \"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"]\n};\nvar faPlusSquare = {\n prefix: 'far',\n iconName: 'plus-square',\n icon: [448, 512, [], \"f0fe\", \"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"]\n};\nvar faQuestionCircle = {\n prefix: 'far',\n iconName: 'question-circle',\n icon: [512, 512, [], \"f059\", \"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"]\n};\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [], \"f25d\", \"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"]\n};\nvar faSadCry = {\n prefix: 'far',\n iconName: 'sad-cry',\n icon: [496, 512, [], \"f5b3\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z\"]\n};\nvar faSadTear = {\n prefix: 'far',\n iconName: 'sad-tear',\n icon: [496, 512, [], \"f5b4\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z\"]\n};\nvar faSave = {\n prefix: 'far',\n iconName: 'save',\n icon: [448, 512, [], \"f0c7\", \"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"]\n};\nvar faShareSquare = {\n prefix: 'far',\n iconName: 'share-square',\n icon: [576, 512, [], \"f14d\", \"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"]\n};\nvar faSmile = {\n prefix: 'far',\n iconName: 'smile',\n icon: [496, 512, [], \"f118\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"]\n};\nvar faSmileBeam = {\n prefix: 'far',\n iconName: 'smile-beam',\n icon: [496, 512, [], \"f5b8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z\"]\n};\nvar faSmileWink = {\n prefix: 'far',\n iconName: 'smile-wink',\n icon: [496, 512, [], \"f4da\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [448, 512, [], \"f2dc\", \"M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z\"]\n};\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [], \"f0c8\", \"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"]\n};\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [], \"f005\", \"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [], \"f089\", \"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"]\n};\nvar faStickyNote = {\n prefix: 'far',\n iconName: 'sticky-note',\n icon: [448, 512, [], \"f249\", \"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"]\n};\nvar faStopCircle = {\n prefix: 'far',\n iconName: 'stop-circle',\n icon: [512, 512, [], \"f28d\", \"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"]\n};\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [], \"f185\", \"M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z\"]\n};\nvar faSurprise = {\n prefix: 'far',\n iconName: 'surprise',\n icon: [496, 512, [], \"f5c2\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"]\n};\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [], \"f165\", \"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"]\n};\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [], \"f164\", \"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"]\n};\nvar faTimesCircle = {\n prefix: 'far',\n iconName: 'times-circle',\n icon: [512, 512, [], \"f057\", \"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"]\n};\nvar faTired = {\n prefix: 'far',\n iconName: 'tired',\n icon: [496, 512, [], \"f5c8\", \"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z\"]\n};\nvar faTrashAlt = {\n prefix: 'far',\n iconName: 'trash-alt',\n icon: [448, 512, [], \"f2ed\", \"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z\"]\n};\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [], \"f007\", \"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\"]\n};\nvar faUserCircle = {\n prefix: 'far',\n iconName: 'user-circle',\n icon: [496, 512, [], \"f2bd\", \"M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z\"]\n};\nvar faWindowClose = {\n prefix: 'far',\n iconName: 'window-close',\n icon: [512, 512, [], \"f410\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"]\n};\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [], \"f2d0\", \"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [], \"f2d1\", \"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"]\n};\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"]\n};\nvar _iconsCache = {\n faAddressBook: faAddressBook,\n faAddressCard: faAddressCard,\n faAngry: faAngry,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faBell: faBell,\n faBellSlash: faBellSlash,\n faBookmark: faBookmark,\n faBuilding: faBuilding,\n faCalendar: faCalendar,\n faCalendarAlt: faCalendarAlt,\n faCalendarCheck: faCalendarCheck,\n faCalendarMinus: faCalendarMinus,\n faCalendarPlus: faCalendarPlus,\n faCalendarTimes: faCalendarTimes,\n faCaretSquareDown: faCaretSquareDown,\n faCaretSquareLeft: faCaretSquareLeft,\n faCaretSquareRight: faCaretSquareRight,\n faCaretSquareUp: faCaretSquareUp,\n faChartBar: faChartBar,\n faCheckCircle: faCheckCircle,\n faCheckSquare: faCheckSquare,\n faCircle: faCircle,\n faClipboard: faClipboard,\n faClock: faClock,\n faClone: faClone,\n faClosedCaptioning: faClosedCaptioning,\n faComment: faComment,\n faCommentAlt: faCommentAlt,\n faCommentDots: faCommentDots,\n faComments: faComments,\n faCompass: faCompass,\n faCopy: faCopy,\n faCopyright: faCopyright,\n faCreditCard: faCreditCard,\n faDizzy: faDizzy,\n faDotCircle: faDotCircle,\n faEdit: faEdit,\n faEnvelope: faEnvelope,\n faEnvelopeOpen: faEnvelopeOpen,\n faEye: faEye,\n faEyeSlash: faEyeSlash,\n faFile: faFile,\n faFileAlt: faFileAlt,\n faFileArchive: faFileArchive,\n faFileAudio: faFileAudio,\n faFileCode: faFileCode,\n faFileExcel: faFileExcel,\n faFileImage: faFileImage,\n faFilePdf: faFilePdf,\n faFilePowerpoint: faFilePowerpoint,\n faFileVideo: faFileVideo,\n faFileWord: faFileWord,\n faFlag: faFlag,\n faFlushed: faFlushed,\n faFolder: faFolder,\n faFolderOpen: faFolderOpen,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faFrown: faFrown,\n faFrownOpen: faFrownOpen,\n faFutbol: faFutbol,\n faGem: faGem,\n faGrimace: faGrimace,\n faGrin: faGrin,\n faGrinAlt: faGrinAlt,\n faGrinBeam: faGrinBeam,\n faGrinBeamSweat: faGrinBeamSweat,\n faGrinHearts: faGrinHearts,\n faGrinSquint: faGrinSquint,\n faGrinSquintTears: faGrinSquintTears,\n faGrinStars: faGrinStars,\n faGrinTears: faGrinTears,\n faGrinTongue: faGrinTongue,\n faGrinTongueSquint: faGrinTongueSquint,\n faGrinTongueWink: faGrinTongueWink,\n faGrinWink: faGrinWink,\n faHandLizard: faHandLizard,\n faHandPaper: faHandPaper,\n faHandPeace: faHandPeace,\n faHandPointDown: faHandPointDown,\n faHandPointLeft: faHandPointLeft,\n faHandPointRight: faHandPointRight,\n faHandPointUp: faHandPointUp,\n faHandPointer: faHandPointer,\n faHandRock: faHandRock,\n faHandScissors: faHandScissors,\n faHandSpock: faHandSpock,\n faHandshake: faHandshake,\n faHdd: faHdd,\n faHeart: faHeart,\n faHospital: faHospital,\n faHourglass: faHourglass,\n faIdBadge: faIdBadge,\n faIdCard: faIdCard,\n faImage: faImage,\n faImages: faImages,\n faKeyboard: faKeyboard,\n faKiss: faKiss,\n faKissBeam: faKissBeam,\n faKissWinkHeart: faKissWinkHeart,\n faLaugh: faLaugh,\n faLaughBeam: faLaughBeam,\n faLaughSquint: faLaughSquint,\n faLaughWink: faLaughWink,\n faLemon: faLemon,\n faLifeRing: faLifeRing,\n faLightbulb: faLightbulb,\n faListAlt: faListAlt,\n faMap: faMap,\n faMeh: faMeh,\n faMehBlank: faMehBlank,\n faMehRollingEyes: faMehRollingEyes,\n faMinusSquare: faMinusSquare,\n faMoneyBillAlt: faMoneyBillAlt,\n faMoon: faMoon,\n faNewspaper: faNewspaper,\n faObjectGroup: faObjectGroup,\n faObjectUngroup: faObjectUngroup,\n faPaperPlane: faPaperPlane,\n faPauseCircle: faPauseCircle,\n faPlayCircle: faPlayCircle,\n faPlusSquare: faPlusSquare,\n faQuestionCircle: faQuestionCircle,\n faRegistered: faRegistered,\n faSadCry: faSadCry,\n faSadTear: faSadTear,\n faSave: faSave,\n faShareSquare: faShareSquare,\n faSmile: faSmile,\n faSmileBeam: faSmileBeam,\n faSmileWink: faSmileWink,\n faSnowflake: faSnowflake,\n faSquare: faSquare,\n faStar: faStar,\n faStarHalf: faStarHalf,\n faStickyNote: faStickyNote,\n faStopCircle: faStopCircle,\n faSun: faSun,\n faSurprise: faSurprise,\n faThumbsDown: faThumbsDown,\n faThumbsUp: faThumbsUp,\n faTimesCircle: faTimesCircle,\n faTired: faTired,\n faTrashAlt: faTrashAlt,\n faUser: faUser,\n faUserCircle: faUserCircle,\n faWindowClose: faWindowClose,\n faWindowMaximize: faWindowMaximize,\n faWindowMinimize: faWindowMinimize,\n faWindowRestore: faWindowRestore\n};\n\nexport { _iconsCache as far, prefix, faAddressBook, faAddressCard, faAngry, faArrowAltCircleDown, faArrowAltCircleLeft, faArrowAltCircleRight, faArrowAltCircleUp, faBell, faBellSlash, faBookmark, faBuilding, faCalendar, faCalendarAlt, faCalendarCheck, faCalendarMinus, faCalendarPlus, faCalendarTimes, faCaretSquareDown, faCaretSquareLeft, faCaretSquareRight, faCaretSquareUp, faChartBar, faCheckCircle, faCheckSquare, faCircle, faClipboard, faClock, faClone, faClosedCaptioning, faComment, faCommentAlt, faCommentDots, faComments, faCompass, faCopy, faCopyright, faCreditCard, faDizzy, faDotCircle, faEdit, faEnvelope, faEnvelopeOpen, faEye, faEyeSlash, faFile, faFileAlt, faFileArchive, faFileAudio, faFileCode, faFileExcel, faFileImage, faFilePdf, faFilePowerpoint, faFileVideo, faFileWord, faFlag, faFlushed, faFolder, faFolderOpen, faFontAwesomeLogoFull, faFrown, faFrownOpen, faFutbol, faGem, faGrimace, faGrin, faGrinAlt, faGrinBeam, faGrinBeamSweat, faGrinHearts, faGrinSquint, faGrinSquintTears, faGrinStars, faGrinTears, faGrinTongue, faGrinTongueSquint, faGrinTongueWink, faGrinWink, faHandLizard, faHandPaper, faHandPeace, faHandPointDown, faHandPointLeft, faHandPointRight, faHandPointUp, faHandPointer, faHandRock, faHandScissors, faHandSpock, faHandshake, faHdd, faHeart, faHospital, faHourglass, faIdBadge, faIdCard, faImage, faImages, faKeyboard, faKiss, faKissBeam, faKissWinkHeart, faLaugh, faLaughBeam, faLaughSquint, faLaughWink, faLemon, faLifeRing, faLightbulb, faListAlt, faMap, faMeh, faMehBlank, faMehRollingEyes, faMinusSquare, faMoneyBillAlt, faMoon, faNewspaper, faObjectGroup, faObjectUngroup, faPaperPlane, faPauseCircle, faPlayCircle, faPlusSquare, faQuestionCircle, faRegistered, faSadCry, faSadTear, faSave, faShareSquare, faSmile, faSmileBeam, faSmileWink, faSnowflake, faSquare, faStar, faStarHalf, faStickyNote, faStopCircle, faSun, faSurprise, faThumbsDown, faThumbsUp, faTimesCircle, faTired, faTrashAlt, faUser, faUserCircle, faWindowClose, faWindowMaximize, faWindowMinimize, faWindowRestore };\n","import React, {Component} from 'react'; // eslint-disable-line no-unused-vars\nimport PropTypes from 'prop-types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCopy, faCheckCircle} from '@fortawesome/free-regular-svg-icons';\n\nimport LoadingElement from '../utils/LoadingElement';\n\nconst clipboardAPI = navigator.clipboard;\n\nfunction wait(ms) {\n return new Promise(r => setTimeout(r, ms));\n}\n\n/**\n * The Clipboard component copies text to the clipboard\n */\n\nexport default class Clipboard extends React.Component {\n static contextType = window.dash_component_api.DashContext;\n\n constructor(props) {\n super(props);\n this.copyToClipboard = this.copyToClipboard.bind(this);\n this.onClickHandler = this.onClickHandler.bind(this);\n this.copySuccess = this.copySuccess.bind(this);\n this.getTargetText = this.getTargetText.bind(this);\n this.loading = this.loading.bind(this);\n this.stringifyId = this.stringifyId.bind(this);\n this.state = {\n copied: false,\n };\n }\n\n onClickHandler() {\n this.props.setProps({n_clicks: this.props.n_clicks + 1});\n }\n\n componentDidUpdate(prevProps) {\n // If the clicks has not changed, do nothing\n if (\n !this.props.n_clicks ||\n this.props.n_clicks === prevProps.n_clicks\n ) {\n return;\n }\n // If the clicks has changed, copy to clipboard\n this.copyToClipboard();\n }\n\n // stringifies object ids used in pattern matching callbacks\n stringifyId(id) {\n if (typeof id !== 'object') {\n return id;\n }\n const stringifyVal = v => (v && v.wild) || JSON.stringify(v);\n const parts = Object.keys(id)\n .sort()\n .map(k => JSON.stringify(k) + ':' + stringifyVal(id[k]));\n return '{' + parts.join(',') + '}';\n }\n\n async copySuccess(content, htmlContent) {\n const showCopiedIcon = 1000;\n if (htmlContent) {\n const blobHtml = new Blob([htmlContent], {type: 'text/html'});\n const blobText = new Blob([content ?? htmlContent], {\n type: 'text/plain',\n });\n const data = [\n new ClipboardItem({\n ['text/plain']: blobText,\n ['text/html']: blobHtml,\n }),\n ];\n await navigator.clipboard.write(data);\n } else {\n await clipboardAPI.writeText(content);\n }\n this.setState({copied: true});\n await wait(showCopiedIcon);\n this.setState({copied: false});\n }\n\n getTargetText() {\n // get the inner text. If none, use the content of the value param\n const id = this.stringifyId(this.props.target_id);\n const target = document.getElementById(id);\n if (!target) {\n throw new Error(\n 'Clipboard copy failed: no element found for target_id ' +\n this.props.target_id\n );\n }\n let content = target.innerText;\n if (!content) {\n content = target.value;\n content = content === undefined ? null : content;\n }\n return content;\n }\n\n async loading() {\n while (this.context.isLoading()) {\n await wait(100);\n }\n }\n\n async copyToClipboard() {\n let content;\n let htmlContent;\n if (this.props.target_id) {\n content = this.getTargetText();\n } else {\n await wait(100); // gives time for callback to start\n await this.loading();\n content = this.props.content;\n htmlContent = this.props.html_content;\n }\n if (content || htmlContent) {\n this.copySuccess(content, htmlContent);\n }\n }\n\n componentDidMount() {\n if (!clipboardAPI) {\n console.warn('Copy to clipboard not available with this browser'); // eslint-disable-line no-console\n }\n }\n\n render() {\n const {id, title, className, style, children, copied_children} =\n this.props;\n\n const isCopied = this.state.copied;\n\n const button_children = isCopied\n ? copied_children ?? \n : children ?? ;\n\n return clipboardAPI ? (\n \n {button_children}\n \n ) : null;\n }\n}\n\nClipboard.defaultProps = {\n content: null,\n html_content: null,\n target_id: null,\n n_clicks: 0,\n};\n\nClipboard.propTypes = {\n /**\n * The ID used to identify this component.\n */\n id: PropTypes.string,\n\n /**\n * Children rendered inside the Clipboard button before copying. By default, a copy icon.\n */\n children: PropTypes.node,\n\n /**\n * Children rendered inside the Clipboard button after the value has been copied. By default, a check icon.\n */\n copied_children: PropTypes.node,\n\n /**\n * The id of target component containing text to copy to the clipboard.\n * The inner text of the `children` prop will be copied to the clipboard. If none, then the text from the\n * `value` prop will be copied.\n */\n target_id: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n /**\n * The text to be copied to the clipboard if the `target_id` is None.\n */\n content: PropTypes.string,\n\n /**\n * The number of times Clipboard button was clicked\n */\n n_clicks: PropTypes.number,\n\n /**\n * The clipboard html text be copied to the clipboard if the `target_id` is None.\n */\n html_content: PropTypes.string,\n\n /**\n * The text shown as a tooltip when hovering over the copy icon.\n */\n title: PropTypes.string,\n\n /**\n * The icon's styles\n */\n style: PropTypes.object,\n\n /**\n * The class name of the icon element\n */\n className: PropTypes.string,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\nimport {Component} from 'react';\n\n/**\n * ConfirmDialog is used to display the browser's native \"confirm\" modal,\n * with an optional message and two buttons (\"OK\" and \"Cancel\").\n * This ConfirmDialog can be used in conjunction with buttons when the user\n * is performing an action that should require an extra step of verification.\n */\nexport default class ConfirmDialog extends Component {\n componentDidUpdate(prevProps) {\n this._update(!prevProps.displayed && this.props.displayed);\n }\n\n componentDidMount() {\n this._update(this.props.displayed);\n }\n\n _update(shouldTriggerDisplay) {\n const {message, setProps, cancel_n_clicks, submit_n_clicks} =\n this.props;\n\n if (shouldTriggerDisplay) {\n new Promise(resolve => resolve(window.confirm(message))).then(\n result => {\n if (result) {\n setProps({\n submit_n_clicks: submit_n_clicks + 1,\n submit_n_clicks_timestamp: Date.now(),\n displayed: false,\n });\n } else {\n setProps({\n cancel_n_clicks: cancel_n_clicks + 1,\n cancel_n_clicks_timestamp: Date.now(),\n displayed: false,\n });\n }\n }\n );\n }\n }\n\n render() {\n return null;\n }\n}\n\nConfirmDialog.defaultProps = {\n submit_n_clicks: 0,\n submit_n_clicks_timestamp: -1,\n cancel_n_clicks: 0,\n cancel_n_clicks_timestamp: -1,\n};\n\nConfirmDialog.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Message to show in the popup.\n */\n message: PropTypes.string,\n /**\n * Number of times the submit button was clicked\n */\n submit_n_clicks: PropTypes.number,\n /**\n * Last time the submit button was clicked.\n */\n submit_n_clicks_timestamp: PropTypes.number,\n /**\n * Number of times the popup was canceled.\n */\n cancel_n_clicks: PropTypes.number,\n /**\n * Last time the cancel button was clicked.\n */\n cancel_n_clicks_timestamp: PropTypes.number,\n /**\n * Set to true to send the ConfirmDialog.\n */\n displayed: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport ConfirmDialog from './ConfirmDialog.react';\nimport LoadingElement from '../utils/LoadingElement';\n\n/**\n * A wrapper component that will display a confirmation dialog\n * when its child component has been clicked on.\n *\n * For example:\n * ```\n * dcc.ConfirmDialogProvider(\n * html.Button('click me', id='btn'),\n * message='Danger - Are you sure you want to continue.'\n * id='confirm')\n * ```\n */\nexport default class ConfirmDialogProvider extends React.Component {\n render() {\n const {displayed, id, setProps, children} = this.props;\n\n // Will lose the previous onClick of the child\n const wrapClick = child =>\n React.cloneElement(child, {\n onClick: () => setProps({displayed: true}),\n });\n\n return (\n \n {Array.isArray(children)\n ? children.map(wrapClick)\n : wrapClick(children)}\n \n \n );\n }\n}\n\nConfirmDialogProvider.defaultProps = {\n submit_n_clicks: 0,\n submit_n_clicks_timestamp: -1,\n cancel_n_clicks: 0,\n cancel_n_clicks_timestamp: -1,\n};\n\nConfirmDialogProvider.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n\n /**\n * Message to show in the popup.\n */\n message: PropTypes.string,\n /**\n * Number of times the submit was clicked\n */\n submit_n_clicks: PropTypes.number,\n /**\n * Last time the submit button was clicked.\n */\n submit_n_clicks_timestamp: PropTypes.number,\n /**\n * Number of times the popup was canceled.\n */\n cancel_n_clicks: PropTypes.number,\n /**\n * Last time the cancel button was clicked.\n */\n cancel_n_clicks_timestamp: PropTypes.number,\n /**\n * Is the modal currently displayed.\n */\n displayed: PropTypes.bool,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n /**\n * The children to hijack clicks from and display the popup.\n */\n children: PropTypes.any,\n};\n","export default () =>\n import(\n /* webpackChunkName: \"datepicker\" */ '../../fragments/DatePickerRange'\n );\n","import {format, startOfDay, parseISO} from 'date-fns';\nimport {isNil} from 'ramda';\n\nexport default {\n extract: (propValue?: string) => {\n if (isNil(propValue)) {\n return propValue;\n }\n\n const parsed = parseISO(propValue);\n return format(startOfDay(parsed), 'yyyy-MM-dd');\n },\n apply: (storedValue?: string) => storedValue,\n};\n","import React, {lazy, Suspense} from 'react';\nimport datePickerRange from '../utils/LazyLoader/datePickerRange';\nimport transformDate from '../utils/DatePickerPersistence';\nimport {DatePickerRangeProps, PersistedProps, PersistenceTypes} from '../types';\n\nconst RealDatePickerRange = lazy(datePickerRange);\n\n/**\n * DatePickerRange is designed for selecting a timespan across multiple days off\n * of a calendar.\n *\n * The DatePicker integrates well with the Python datetime module with the\n * startDate and endDate being returned in a string format suitable for\n * creating datetime objects.\n *\n */\nexport default function DatePickerRange({\n calendar_orientation = 'horizontal',\n is_RTL = false,\n // eslint-disable-next-line no-magic-numbers\n day_size = 34,\n with_portal = false,\n with_full_screen_portal = false,\n first_day_of_week = 0,\n number_of_months_shown = 2,\n stay_open_on_select = false,\n reopen_calendar_on_clear = false,\n show_outside_days = false,\n clearable = false,\n disabled = false,\n updatemode = 'singledate',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.start_date, PersistedProps.end_date],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n disabled_days = [],\n ...props\n}: DatePickerRangeProps) {\n return (\n \n \n \n );\n}\n\nDatePickerRange.dashPersistence = {\n persisted_props: [PersistedProps.start_date, PersistedProps.end_date],\n persistence_type: PersistenceTypes.local,\n};\n\nDatePickerRange.persistenceTransforms = {\n end_date: transformDate,\n start_date: transformDate,\n};\n","export default () =>\n import(\n /* webpackChunkName: \"datepicker\" */ '../../fragments/DatePickerSingle'\n );\n","import React, {lazy, Suspense} from 'react';\nimport datePickerSingle from '../utils/LazyLoader/datePickerSingle';\nimport transformDate from '../utils/DatePickerPersistence';\nimport {\n DatePickerSingleProps,\n PersistedProps,\n PersistenceTypes,\n} from '../types';\n\nconst RealDatePickerSingle = lazy(datePickerSingle);\n\n/**\n * DatePickerSingle is a tailor made component designed for selecting\n * a single day off of a calendar.\n *\n * The DatePicker integrates well with the Python datetime module with the\n * startDate and endDate being returned in a string format suitable for\n * creating datetime objects.\n */\nexport default function DatePickerSingle({\n placeholder = 'Select Date',\n calendar_orientation = 'horizontal',\n is_RTL = false,\n // eslint-disable-next-line no-magic-numbers\n day_size = 34,\n with_portal = false,\n with_full_screen_portal = false,\n show_outside_days = true,\n first_day_of_week = 0,\n number_of_months_shown = 1,\n stay_open_on_select = false,\n reopen_calendar_on_clear = false,\n clearable = false,\n disabled = false,\n disabled_days = [],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.date],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n ...props\n}: DatePickerSingleProps) {\n return (\n \n \n \n );\n}\n\nDatePickerSingle.dashPersistence = {\n persisted_props: [PersistedProps.date],\n persistence_type: PersistenceTypes.local,\n};\n\nDatePickerSingle.persistenceTransforms = {\n date: transformDate,\n};\n","import PropTypes from 'prop-types';\nimport {Component} from 'react';\nimport {toByteArray} from 'base64-js';\nimport {saveAs} from 'file-saver';\n\nconst getValue = (src, fallback, key) =>\n key in src ? src[key] : fallback[key];\n\n/**\n * The Download component opens a download dialog when the data property changes.\n */\nexport default class Download extends Component {\n componentDidUpdate(prevProps) {\n const {data} = this.props;\n // If the data hasn't changed, do nothing.\n if (!data || data === prevProps.data) {\n return;\n }\n // Extract options from data if provided, fallback to props.\n const type = getValue(data, this.props, 'type');\n const base64 = getValue(data, this.props, 'base64');\n // Invoke the download using a Blob.\n const content = base64 ? toByteArray(data.content) : data.content;\n const blob = new Blob([content], {type: type});\n saveAs(blob, data.filename);\n }\n\n render() {\n return null;\n }\n}\n\nDownload.propTypes = {\n /**\n * The ID of this component, used to identify dash components in callbacks.\n */\n id: PropTypes.string,\n\n /**\n * On change, a download is invoked.\n */\n data: PropTypes.exact({\n /**\n * Suggested filename in the download dialogue.\n */\n filename: PropTypes.string.isRequired,\n /**\n * File content.\n */\n content: PropTypes.string.isRequired,\n /**\n * Set to true, when data is base64 encoded.\n */\n base64: PropTypes.bool,\n /**\n * Blob type, usually a MIME-type.\n */\n type: PropTypes.string,\n }),\n\n /**\n * Default value for base64, used when not set as part of the data property.\n */\n base64: PropTypes.bool,\n\n /**\n * Default value for type, used when not set as part of the data property.\n */\n type: PropTypes.string,\n\n /**\n * Dash-supplied function for updating props.\n */\n setProps: PropTypes.func,\n};\n\nDownload.defaultProps = {\n type: 'text/plain',\n base64: false,\n};\n","import {Component} from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * The CurrentLocation component gets geolocation of the device from the web browser. See more info here:\n * https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API\n */\n\nexport default class Geolocation extends Component {\n constructor(props) {\n super(props);\n this.success = this.success.bind(this);\n this.error = this.error.bind(this);\n }\n updatePosition() {\n if (this.props.update_now) {\n this.props.setProps({\n update_now: false,\n });\n }\n if (!navigator.geolocation) {\n this.error({\n code: 999,\n message: 'Your browser does not support Geolocation',\n });\n } else {\n const positionOptions = {\n enableHighAccuracy: this.props.high_accuracy,\n maximumAge: this.props.maximum_age,\n timeout: this.props.timeout,\n };\n\n navigator.geolocation.getCurrentPosition(\n this.success,\n this.error,\n positionOptions\n );\n }\n }\n\n componentDidMount() {\n this.updatePosition();\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.update_now ||\n prevProps.maximum_age !== this.props.maximum_age ||\n prevProps.timeout !== this.props.timeout ||\n prevProps.high_accuracy !== this.props.high_accuracy\n ) {\n this.updatePosition();\n }\n }\n\n success(pos) {\n const crd = pos.coords;\n const position_obj = {\n lat: crd.latitude ?? null,\n lon: crd.longitude ?? null,\n accuracy: crd.accuracy ?? null,\n alt: crd.altitude ?? null,\n alt_accuracy: crd.altitudeAccuracy ?? null,\n speed: crd.speed ?? null,\n heading: crd.heading ?? null,\n };\n\n this.props.setProps({\n local_date: new Date(pos.timestamp).toLocaleString(),\n timestamp: pos.timestamp,\n position: position_obj,\n position_error: null,\n });\n }\n\n error(err) {\n if (this.props.show_alert) {\n alert(`ERROR(${err.code}): ${err.message}`);\n }\n this.props.setProps({\n position: null,\n position_error: {\n code: err.code,\n message: err.message,\n },\n });\n }\n\n render() {\n return null;\n }\n}\n\nGeolocation.defaultProps = {\n update_now: false,\n high_accuracy: false,\n position_error: null,\n maximum_age: 0,\n timeout: Infinity,\n show_alert: false,\n};\n\nGeolocation.propTypes = {\n /**\n * The ID used to identify this component in Dash callbacks.\n */\n id: PropTypes.string,\n\n /**\n * The local date and time when the device position was updated.\n * Format: MM/DD/YYYY, hh:mm:ss p where p is AM or PM\n */\n local_date: PropTypes.string,\n\n /**\n * The Unix timestamp from when the position was updated\n */\n timestamp: PropTypes.number,\n\n /**\n * The position of the device. `lat`, `lon`, and `accuracy` will always be returned. The other data will be included\n * when available, otherwise it will be NaN.\n *\n * `lat` is latitude in degrees.\n * `lon` is longitude in degrees.\n * `accuracy` is the accuracy of the lat/lon in meters. *\n *\n * `alt` is altitude above mean sea level in meters.\n * `alt_accuracy` is the accuracy of the altitude in meters.\n * `heading` is the compass heading in degrees.\n * `speed` is the speed in meters per second.\n *\n */\n position: PropTypes.shape({\n lat: PropTypes.number,\n lon: PropTypes.number,\n accuracy: PropTypes.number,\n alt: PropTypes.number,\n alt_accuracy: PropTypes.number,\n heading: PropTypes.number,\n speed: PropTypes.number,\n }),\n\n /**\n * Position error\n */\n position_error: PropTypes.shape({\n code: PropTypes.number,\n message: PropTypes.string,\n }),\n\n /**\n * If true, error messages will be displayed as an alert\n */\n show_alert: PropTypes.bool,\n\n /**\n * Forces a one-time update of the position data. If set to True in a callback, the browser\n * will update the position data and reset update_now back to False. This can, for example, be used to update the\n * position with a button or an interval timer.\n */\n update_now: PropTypes.bool,\n\n /**\n * If true and if the device is able to provide a more accurate position,\n * it will do so. Note that this can result in slower response times or increased power consumption (with a GPS\n * chip on a mobile device for example). If false (the default value), the device can save resources by\n * responding more quickly and/or using less power.\n */\n high_accuracy: PropTypes.bool,\n\n /**\n * The maximum age in milliseconds of a possible cached position that is acceptable to return. If set to 0,\n * it means that the device cannot use a cached position and must attempt to retrieve the real current position.\n * If set to Infinity the device must return a cached position regardless of its age. Default: 0.\n */\n maximum_age: PropTypes.number,\n\n /**\n * The maximum length of time (in milliseconds) the device is allowed to take in order to return a position.\n * The default value is Infinity, meaning that data will not be return until the position is available.\n */\n timeout: PropTypes.number,\n\n /**\n * Dash-assigned callback that should be called to report property changes\n * to Dash, to make them available for callbacks.\n */\n setProps: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\nimport React, {Component} from 'react'; // eslint-disable-line no-unused-vars\n\n/**\n * A component that repeatedly increments a counter `n_intervals`\n * with a fixed time delay between each increment.\n * Interval is good for triggering a component on a recurring basis.\n * The time delay is set with the property \"interval\" in milliseconds.\n */\nexport default class Interval extends Component {\n constructor(props) {\n super(props);\n this.intervalId = null;\n this.reportInterval = this.reportInterval.bind(this);\n this.handleTimer = this.handleTimer.bind(this);\n }\n\n handleTimer(props) {\n // Check if timer should stop or shouldn't even start\n if (\n props.max_intervals === 0 ||\n props.disabled ||\n (props.n_intervals >= props.max_intervals &&\n props.max_intervals !== -1)\n ) {\n // stop existing timer\n if (this.intervalId) {\n this.clearTimer();\n }\n // and don't start a timer\n return;\n }\n\n // keep the existing timer running\n if (this.intervalId) {\n return;\n }\n\n // it hasn't started yet (& it should start)\n this.intervalId = window.setInterval(\n this.reportInterval,\n props.interval\n );\n }\n\n resetTimer(props) {\n this.clearTimer();\n this.handleTimer(props);\n }\n\n clearTimer() {\n window.clearInterval(this.intervalId);\n this.intervalId = null;\n }\n\n reportInterval() {\n const {setProps, n_intervals} = this.props;\n setProps({n_intervals: n_intervals + 1});\n }\n\n componentDidMount() {\n this.handleTimer(this.props);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.interval !== this.props.interval) {\n this.resetTimer(nextProps);\n } else {\n this.handleTimer(nextProps);\n }\n }\n\n componentWillUnmount() {\n this.clearTimer();\n }\n\n render() {\n return null;\n }\n}\n\nInterval.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string,\n /**\n * This component will increment the counter `n_intervals` every\n * `interval` milliseconds\n */\n interval: PropTypes.number,\n\n /**\n * If True, the counter will no longer update\n */\n disabled: PropTypes.bool,\n\n /**\n * Number of times the interval has passed\n */\n n_intervals: PropTypes.number,\n\n /**\n * Number of times the interval will be fired.\n * If -1, then the interval has no limit (the default)\n * and if 0 then the interval stops running.\n */\n max_intervals: PropTypes.number,\n\n /**\n * Dash assigned callback\n */\n setProps: PropTypes.func,\n};\n\nInterval.defaultProps = {\n interval: 1000,\n n_intervals: 0,\n max_intervals: -1,\n};\n","import _has from \"./_has.js\";\nexport default function _toPairs(obj) {\n var pairs = [];\n for (var prop in obj) {\n if (_has(prop, obj)) {\n pairs[pairs.length] = [prop, obj[prop]];\n }\n }\n return pairs;\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _toPairs from \"./internal/_toPairs.js\";\n\n/**\n * Converts an object into an array of key, value arrays. Only the object's\n * own properties are used.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own properties.\n * @see R.fromPairs, R.keys, R.values\n * @example\n *\n * R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]\n */\nvar toPairs = /*#__PURE__*/_curry1(_toPairs);\nexport default toPairs;","import _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\nvar XAny = /*#__PURE__*/function () {\n function XAny(f, xf) {\n this.xf = xf;\n this.f = f;\n this.any = false;\n }\n XAny.prototype['@@transducer/init'] = _xfBase.init;\n XAny.prototype['@@transducer/result'] = function (result) {\n if (!this.any) {\n result = this.xf['@@transducer/step'](result, false);\n }\n return this.xf['@@transducer/result'](result);\n };\n XAny.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.any = true;\n result = _reduced(this.xf['@@transducer/step'](result, true));\n }\n return result;\n };\n return XAny;\n}();\nexport default function _xany(f) {\n return function (xf) {\n return new XAny(f, xf);\n };\n}","export default function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x : {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xany from \"./internal/_xany.js\";\n\n/**\n * Returns `true` if at least one of the elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n * otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n * const lessThan0 = R.flip(R.lt)(0);\n * const lessThan2 = R.flip(R.lt)(2);\n * R.any(lessThan0)([1, 2]); //=> false\n * R.any(lessThan2)([1, 2]); //=> true\n */\nvar any = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['any'], _xany, function any(fn, list) {\n var idx = 0;\n while (idx < list.length) {\n if (fn(list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n}));\nexport default any;","import React from 'react';\nimport {DebugTitleProps} from '../types';\n\nexport default function DebugTitle({id, property}: DebugTitleProps) {\n return (\n

\n Loading #{id}\n 's {property}\n

\n );\n}\n","import React, {useState, useRef, useMemo, useEffect} from 'react';\nimport {equals, concat, includes, toPairs, any} from 'ramda';\n\nimport GraphSpinner from '../fragments/Loading/spinners/GraphSpinner';\nimport DefaultSpinner from '../fragments/Loading/spinners/DefaultSpinner';\nimport CubeSpinner from '../fragments/Loading/spinners/CubeSpinner';\nimport CircleSpinner from '../fragments/Loading/spinners/CircleSpinner';\nimport DotSpinner from '../fragments/Loading/spinners/DotSpinner';\nimport {LoadingProps} from 'src/types';\nimport {DebugTitleProps} from '../fragments/Loading/types';\nimport {DashLayoutPath} from '@dash-renderer/types/component';\n\nconst spinnerComponentOptions = {\n graph: GraphSpinner,\n cube: CubeSpinner,\n circle: CircleSpinner,\n dot: DotSpinner,\n default: DefaultSpinner,\n} as const;\n\nconst getSpinner = (spinnerType: keyof typeof spinnerComponentOptions) =>\n spinnerComponentOptions[spinnerType];\n\nconst coveringSpinner: React.CSSProperties = {\n visibility: 'visible',\n position: 'absolute',\n top: '0',\n height: '100%',\n width: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n};\n\ntype LoadingState = {\n loading: Record;\n};\n\nconst loadingSelector =\n (\n componentPath: DashLayoutPath,\n targetComponents?: Record\n ) =>\n (state: LoadingState): DebugTitleProps[] | null => {\n let stringPath = JSON.stringify(componentPath);\n // Remove the last ] for easy match and add `,` to make sure only children\n // trigger the loading. See issue: https://github.com/plotly/dash/issues/3276\n stringPath = stringPath.substring(0, stringPath.length - 1) + ',';\n const loadingChildren = toPairs(state.loading).reduce(\n (acc, [path, load]) => {\n if (path.startsWith(stringPath) && load.length) {\n if (\n targetComponents &&\n !any((l: DebugTitleProps) => {\n const target = targetComponents[l.id];\n if (!target) {\n return false;\n }\n if (target === '*') {\n return true;\n }\n if (Array.isArray(target)) {\n return includes(l.property, target);\n }\n return l.property === target;\n }, load)\n ) {\n return acc;\n }\n return concat(acc, load);\n }\n return acc;\n },\n [] as DebugTitleProps[]\n );\n if (loadingChildren.length) {\n return loadingChildren;\n }\n return null;\n };\n\nfunction Loading({\n children,\n display = 'auto',\n color = 'var(--Dash-Fill-Interactive-Strong)',\n id,\n className,\n style,\n parent_className,\n parent_style,\n overlay_style,\n fullscreen,\n debug,\n show_initially = true,\n type: spinnerType = 'default',\n delay_hide = 0,\n delay_show = 0,\n target_components,\n custom_spinner,\n}: LoadingProps) {\n const ctx = window.dash_component_api.useDashContext();\n\n const loading = ctx.useSelector(\n loadingSelector(ctx.componentPath, target_components),\n equals\n );\n\n const [showSpinner, setShowSpinner] = useState(show_initially);\n const dismissTimer = useRef();\n const showTimer = useRef();\n\n const containerStyle: React.CSSProperties = useMemo(() => {\n if (showSpinner) {\n return {visibility: 'hidden', ...overlay_style, ...parent_style};\n }\n return parent_style ?? {};\n }, [showSpinner, parent_style]);\n\n useEffect(() => {\n if (display === 'show' || display === 'hide') {\n setShowSpinner(display === 'show');\n return;\n }\n\n if (loading) {\n // if component is currently loading and there's a dismiss timer active\n // we need to clear it.\n if (dismissTimer.current) {\n dismissTimer.current = window.clearTimeout(\n dismissTimer.current\n );\n }\n // if component is currently loading but the spinner is not showing and\n // there is no timer set to show, then set a timeout to show\n if (!showSpinner && !showTimer.current) {\n showTimer.current = window.setTimeout(() => {\n setShowSpinner(true);\n showTimer.current = undefined;\n }, delay_show);\n }\n } else {\n // if component is not currently loading and there's a show timer\n // active we need to clear it\n if (showTimer.current) {\n showTimer.current = window.clearTimeout(showTimer.current);\n }\n // if component is not currently loading and the spinner is showing and\n // there's no timer set to dismiss it, then set a timeout to hide it\n if (showSpinner && !dismissTimer.current) {\n dismissTimer.current = window.setTimeout(() => {\n setShowSpinner(false);\n dismissTimer.current = undefined;\n }, delay_hide);\n }\n }\n }, [delay_hide, delay_show, loading, display, showSpinner]);\n\n const Spinner = getSpinner(spinnerType);\n\n return (\n \n
\n {children}\n
\n
\n {showSpinner &&\n (custom_spinner || (\n \n ))}\n
\n
\n );\n}\n\nexport default Loading;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\nconst GraphSpinner = ({\n status,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default GraphSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\nconst CubeSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n /* eslint-disable no-magic-numbers */\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default CubeSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst CircleSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default CircleSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DotSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default DotSpinner;\n","import React from 'react';\nimport DebugTitle from './DebugTitle';\nimport {SpinnerProps} from '../types';\n\n/**\n * Spinner created by Tobias Ahlin, https://github.com/tobiasahlin/SpinKit\n */\nconst DefaultSpinner = ({\n status,\n color,\n fullscreen,\n debug,\n className,\n style,\n}: SpinnerProps) => {\n let debugTitle;\n if (debug && status) {\n debugTitle = status.map((s, i) => );\n }\n let spinnerClass = fullscreen ? 'dash-spinner-container' : '';\n if (className) {\n spinnerClass += ` ${className}`;\n }\n return (\n
\n {debugTitle}\n
\n
\n
\n
\n
\n
\n
\n \n
\n );\n};\n\nexport default DefaultSpinner;\n","import {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {type} from 'ramda';\n\nimport {History} from '@plotly/dash-component-plugins';\n\n/**\n * Update and track the current window.location object through the window.history state.\n * Use in conjunction with the `dash_core_components.Link` component to make apps with multiple pages.\n */\nexport default class Location extends Component {\n constructor(props) {\n super(props);\n this.updateLocation = this.updateLocation.bind(this);\n this.onLocationChange = this.onLocationChange.bind(this);\n }\n\n updateLocation(props) {\n const {hash, href, pathname, refresh, search, setProps} = props;\n\n // Keep track of props relating to window.location that may need to be updated via setProps\n const propsToSet = {};\n\n /**\n * Check if the field exists in props. If the prop with \"fieldName\" is not defined,\n * then it was not set by the user and needs to be equal to the value in window.location.\n * This only happens on page load (since props will no longer be undefined after componentDidMount).\n *\n * @param {string} fieldName\n * The name of the prop in window.location and in the component's prop\n *\n * @returns {boolean}\n * Returns true if the prop with fieldName is different and the window state needs to be updated\n */\n const checkExistsUpdateWindowLocation = fieldName => {\n const propVal = props[fieldName];\n\n if (\n (type(propVal) === 'Undefined' || propVal === null) &&\n type(window.location[fieldName]) !== 'Undefined'\n ) {\n // propVal is undefined or null, but window.location has this fieldName defined\n propsToSet[fieldName] = window.location[fieldName];\n } else if (propVal !== window.location[fieldName]) {\n // Prop has changed?\n if (refresh === true) {\n // Refresh the page?\n if (\n fieldName === 'href' &&\n window.dash_clientside.clean_url(propVal) !== propVal\n ) {\n setProps({\n _dash_error: new Error(\n `Dangerous link detected: ${propVal}`\n ),\n });\n return false;\n }\n window.location[fieldName] = propVal;\n } else if (this.props[fieldName] !== propVal) {\n // If this prop has changed, need to setProps\n propsToSet[fieldName] = propVal;\n // This (`${fieldName}`: propVal) needs to be pushed in the window.history\n return true;\n }\n }\n // This (`${fieldName}`: propVal) DOES NOT need to be pushed in the window.history\n return false;\n };\n\n // Check if the prop value needs to be updated (note that this mutates propsToSet)\n const pathnameUpdated = checkExistsUpdateWindowLocation('pathname');\n const hrefUpdated = checkExistsUpdateWindowLocation('href');\n const hashUpdated = checkExistsUpdateWindowLocation('hash');\n const searchUpdated = checkExistsUpdateWindowLocation('search');\n\n // propsToSet has been updated -- batch update to Dash\n if (Object.keys(propsToSet).length > 0) {\n setProps(propsToSet);\n }\n\n // Special case -- overrides everything!\n if (hrefUpdated) {\n window.history.pushState({}, '', href);\n if (refresh === 'callback-nav') {\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n } else if (pathnameUpdated || hashUpdated || searchUpdated) {\n // Otherwise, we can mash everything together\n const searchVal = type(search) !== 'Undefined' ? search : '';\n const hashVal = type(hash) !== 'Undefined' ? hash : '';\n window.history.pushState(\n {},\n '',\n `${pathname}${searchVal}${hashVal}`\n );\n if (refresh === 'callback-nav') {\n window.dispatchEvent(new CustomEvent('_dashprivate_pushstate'));\n }\n }\n }\n\n onLocationChange() {\n const {setProps} = this.props;\n const propsToChange = {};\n\n if (this.props.pathname !== window.location.pathname) {\n propsToChange.pathname = window.location.pathname;\n }\n if (this.props.href !== window.location.href) {\n propsToChange.href = window.location.href;\n }\n if (this.props.hash !== window.location.hash) {\n propsToChange.hash = window.location.hash;\n }\n if (this.props.search !== window.location.search) {\n propsToChange.search = window.location.search;\n }\n\n setProps(propsToChange);\n\n History.dispatchChangeEvent();\n }\n\n componentDidMount() {\n window.addEventListener('popstate', this.onLocationChange);\n\n window.addEventListener(\n '_dashprivate_pushstate',\n this.onLocationChange\n );\n this.updateLocation(this.props);\n }\n\n componentWillUnmount() {\n window.removeEventListener('popstate', this.onLocationChange);\n window.removeEventListener(\n '_dashprivate_pushstate',\n this.onLocationChange\n );\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateLocation(nextProps);\n }\n\n render() {\n return null;\n }\n}\n\nLocation.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string.isRequired,\n\n /** pathname in window.location - e.g., \"/my/full/pathname\" */\n pathname: PropTypes.string,\n /** search in window.location - e.g., \"?myargument=1\" */\n search: PropTypes.string,\n /** hash in window.location - e.g., \"#myhash\" */\n hash: PropTypes.string,\n /** href in window.location - e.g., \"/my/full/pathname?myargument=1#myhash\" */\n href: PropTypes.string,\n\n /**\n * Use `True` to navigate outside the Dash app or to manually refresh a page.\n * Use `False` if the same callback that updates the Location component is also\n * updating the page content - typically used in multi-page apps that do not use Pages.\n * Use 'callback-nav' if you are updating the URL in a callback, or a different\n * callback will respond to the new Location with updated content. This is\n * typical with multi-page apps that use Pages. This will allow for\n * navigating to a new page without refreshing the page.\n */\n refresh: PropTypes.oneOfType([\n PropTypes.oneOf(['callback-nav']),\n PropTypes.bool,\n ]),\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n\nLocation.defaultProps = {\n refresh: true,\n};\n","export default () =>\n import(/* webpackChunkName: \"markdown\" */ '../../fragments/Markdown');\n","import React, {lazy, Suspense, useEffect} from 'react';\nimport {MarkdownProps} from '../types';\nimport markdown from '../utils/LazyLoader/markdown';\nimport lazyLoadMathJax from '../utils/LazyLoader/third-party/mathjax';\n\nconst RealMarkdown = lazy(markdown);\n\n/**\n * A component that renders Markdown text as specified by the\n * GitHub Markdown spec. These component uses\n * [react-markdown](https://github.com/remarkjs/react-markdown) under the hood.\n */\nexport default function Markdown({\n mathjax = false,\n dangerously_allow_html = false,\n dedent = true,\n ...props\n}: MarkdownProps) {\n useEffect(() => {\n if (mathjax) {\n lazyLoadMathJax();\n }\n }, [mathjax]);\n\n return (\n \n \n \n );\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./radioitems.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./radioitems.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {useMemo} from 'react';\nimport {RadioItemsProps, PersistedProps, PersistenceTypes} from '../types';\nimport './css/radioitems.css';\n\nimport {sanitizeOptions} from '../utils/optionTypes';\nimport LoadingElement from '../utils/_LoadingElement';\nimport {OptionsList} from '../utils/optionRendering';\nimport {isNil} from 'ramda';\n\n/**\n * RadioItems is a component that encapsulates several radio item inputs.\n * The values and labels of the RadioItems is specified in the `options`\n * property and the seleced item is specified with the `value` property.\n * Each radio item is rendered as an input with a surrounding label.\n */\nexport default function RadioItems({\n className,\n id,\n style,\n setProps,\n value,\n inputStyle = {},\n inputClassName = '',\n labelStyle = {},\n labelClassName = '',\n options = [],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n inline = false,\n}: RadioItemsProps) {\n const sanitizedOptions = useMemo(() => {\n return sanitizeOptions(options).options;\n }, [options]);\n\n const stylingProps = {\n id,\n className: 'dash-radioitems ' + (className ?? ''),\n style,\n optionClassName: inline ? 'dash-radioitems-inline' : undefined,\n inputStyle,\n inputClassName,\n labelStyle,\n labelClassName,\n };\n\n return (\n \n {loadingProps => (\n {\n if (selection.length) {\n setProps({value: selection[selection.length - 1]});\n }\n }}\n {...stylingProps}\n />\n )}\n \n );\n}\n\nRadioItems.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","export default () =>\n import(/* webpackChunkName: \"slider\" */ '../../fragments/RangeSlider');\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./sliders.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./sliders.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {lazy, Suspense} from 'react';\nimport {PersistedProps, PersistenceTypes, RangeSliderProps} from '../types';\nimport rangeSlider from '../utils/LazyLoader/rangeSlider';\n\nimport './css/sliders.css';\n\nconst RealRangeSlider = lazy(rangeSlider);\n\n/**\n * A double slider with two handles.\n * Used for specifying a range of numerical values.\n */\nexport default function RangeSlider({\n updatemode = 'mouseup',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n // eslint-disable-next-line no-magic-numbers\n verticalHeight = 400,\n step = undefined,\n allow_direct_input = true,\n ...props\n}: RangeSliderProps) {\n // Some considerations for the default value of `step`:\n // If the range consists of integers, default to a value of `1`\n // Otherwise, leave it undefined\n if (\n typeof step === 'undefined' &&\n Number.isInteger(props.min) &&\n Number.isInteger(props.max)\n ) {\n step = 1;\n }\n\n return (\n \n \n \n );\n}\n\nRangeSlider.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","import {omit} from 'ramda';\nimport React, {lazy, Suspense, useCallback, useMemo} from 'react';\nimport {\n PersistedProps,\n PersistenceTypes,\n RangeSliderProps,\n SliderProps,\n} from '../types';\nimport rangeSlider from '../utils/LazyLoader/rangeSlider';\nimport './css/sliders.css';\n\nconst RealSlider = lazy(rangeSlider);\n\n/**\n * A slider component with a single handle.\n */\nexport default function Slider({\n updatemode = 'mouseup',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n // eslint-disable-next-line no-magic-numbers\n verticalHeight = 400,\n step = undefined,\n allow_direct_input = true,\n setProps,\n value,\n drag_value,\n ...props\n}: SliderProps) {\n // This is actually a wrapper around a RangeSlider.\n // We'll modify key `Slider` props to be compatible with a Range Slider.\n\n // Some considerations for the default value of `step`:\n // If the range consists of integers, default to a value of `1`\n // Otherwise, leave it undefined\n if (\n typeof step === 'undefined' &&\n Number.isInteger(props.min) &&\n Number.isInteger(props.max)\n ) {\n step = 1;\n }\n\n const mappedValue: RangeSliderProps['value'] = useMemo(() => {\n return typeof value === 'number' ? [value] : value;\n }, [value]);\n\n const mappedDragValue: RangeSliderProps['drag_value'] = useMemo(() => {\n return typeof drag_value === 'number' ? [drag_value] : drag_value;\n }, [drag_value]);\n\n const mappedSetProps: RangeSliderProps['setProps'] = useCallback(\n newProps => {\n const {value, drag_value} = newProps;\n const mappedProps: Partial = omit(\n ['value', 'drag_value', 'setProps'],\n newProps\n );\n if ('value' in newProps) {\n mappedProps.value = value ? value[0] : value;\n }\n if ('drag_value' in newProps) {\n mappedProps.drag_value = drag_value\n ? drag_value[0]\n : drag_value;\n }\n\n setProps(mappedProps);\n },\n [setProps]\n );\n\n return (\n \n \n \n );\n}\n\nSlider.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n","import {equals, isNil} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * Abstraction for the memory storage_type to work the same way as local/session\n *\n * Each memory Store component get it's own MemStore.\n */\nclass MemStore {\n constructor() {\n this._data = {};\n this._modified = -1;\n }\n\n getItem(key) {\n return this._data[key];\n }\n\n setItem(key, value) {\n this._data[key] = value;\n this.setModified(key);\n }\n\n removeItem(key) {\n delete this._data[key];\n this.setModified(key);\n }\n\n // noinspection JSUnusedLocalSymbols\n setModified(_) {\n this._modified = Date.now();\n }\n\n // noinspection JSUnusedLocalSymbols\n getModified(_) {\n return this._modified;\n }\n}\n\n/**\n * Abstraction for local/session storage_type.\n *\n * Single instances for localStorage, sessionStorage\n */\nclass WebStore {\n constructor(storage) {\n this._storage = storage;\n }\n\n getItem(key) {\n try {\n return JSON.parse(this._storage.getItem(key));\n } catch (e) {\n // in case we somehow got a non-JSON value in storage,\n // just ignore it.\n return null;\n }\n }\n\n setItem(key, value) {\n this._storage.setItem(key, JSON.stringify(value));\n this.setModified(key);\n }\n\n removeItem(key) {\n this._storage.removeItem(key);\n this._storage.removeItem(`${key}-timestamp`);\n }\n\n setModified(key) {\n this._storage.setItem(`${key}-timestamp`, Date.now());\n }\n\n getModified(key) {\n return (\n Number.parseInt(this._storage.getItem(`${key}-timestamp`), 10) || -1\n );\n }\n}\n\n/**\n * Easily keep data on the client side with this component.\n * The data is not inserted in the DOM.\n * Data can be in memory, localStorage or sessionStorage.\n * The data will be kept with the id as key.\n */\nexport default class Store extends React.Component {\n constructor(props) {\n super(props);\n\n if (props.storage_type === 'local') {\n this._backstore = new WebStore(window.localStorage);\n } else if (props.storage_type === 'session') {\n this._backstore = new WebStore(window.sessionStorage);\n } else if (props.storage_type === 'memory') {\n this._backstore = new MemStore();\n }\n\n this.onStorageChange = this.onStorageChange.bind(this);\n }\n\n onStorageChange(e) {\n const {id, setProps} = this.props;\n if (e.key === id && setProps && e.newValue !== e.oldValue) {\n setProps({\n data: JSON.parse(e.newValue),\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n\n UNSAFE_componentWillMount() {\n const {setProps, id, data, storage_type} = this.props;\n if (storage_type !== 'memory') {\n window.addEventListener('storage', this.onStorageChange);\n }\n\n const old = this._backstore.getItem(id);\n if (isNil(old) && !isNil(data)) {\n // Initial data mount\n this._backstore.setItem(id, data);\n setProps({\n modified_timestamp: this._backstore.getModified(id),\n });\n return;\n }\n\n if (!equals(old, data)) {\n setProps({\n data: old,\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n\n componentWillUnmount() {\n if (this.props.storage_type !== 'memory') {\n window.removeEventListener('storage', this.onStorageChange);\n }\n }\n\n componentDidUpdate() {\n const {data, id, clear_data, setProps} = this.props;\n if (clear_data) {\n this._backstore.removeItem(id);\n setProps({\n clear_data: false,\n data: null,\n modified_timestamp: this._backstore.getModified(id),\n });\n return;\n }\n const old = this._backstore.getItem(id);\n // Only set the data if it's not the same data.\n // If the new data is undefined, we got here by overwriting the entire\n // component with a new copy that has no `data` specified - so pull back\n // out the old value.\n // Note: this still allows you to set data to null\n if (!equals(data, old)) {\n if (data === undefined) {\n setProps({data: old});\n } else {\n this._backstore.setItem(id, data);\n setProps({\n modified_timestamp: this._backstore.getModified(id),\n });\n }\n }\n }\n\n render() {\n return null;\n }\n}\n\nStore.defaultProps = {\n storage_type: 'memory',\n clear_data: false,\n modified_timestamp: -1,\n};\n\nStore.propTypes = {\n /**\n * The ID of this component, used to identify dash components\n * in callbacks. The ID needs to be unique across all of the\n * components in an app.\n */\n id: PropTypes.string.isRequired,\n\n /**\n * The type of the web storage.\n *\n * memory: only kept in memory, reset on page refresh.\n * local: window.localStorage, data is kept after the browser quit.\n * session: window.sessionStorage, data is cleared once the browser quit.\n */\n storage_type: PropTypes.oneOf(['local', 'session', 'memory']),\n\n /**\n * The stored data for the id.\n */\n data: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n /**\n * Set to true to remove the data contained in `data_key`.\n */\n clear_data: PropTypes.bool,\n\n /**\n * The last time the storage was modified.\n */\n modified_timestamp: PropTypes.number,\n\n /**\n * Dash-assigned callback that gets fired when the value changes.\n */\n setProps: PropTypes.func,\n};\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./tabs.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./tabs.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport './css/tabs.css';\nimport {TabProps} from '../types';\n\n/**\n * Part of dcc.Tabs - this is the child Tab component used to render a tabbed page.\n * Its children will be set as the content of that tab, which if clicked will become visible.\n */\nfunction Tab({\n children,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disabled = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n disabled_style = {color: 'var(--Dash-Text-Disabled)'},\n}: TabProps) {\n return <>{children};\n}\n\nexport default Tab;\n","import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport {has, isNil} from 'ramda';\n\nimport LoadingElement from '../utils/_LoadingElement';\nimport {PersistedProps, PersistenceTypes, TabProps, TabsProps} from '../types';\nimport './css/tabs.css';\nimport {DashComponent} from '@dash-renderer/types';\n\ninterface EnhancedTabProps extends TabProps {\n selected: boolean;\n componentPath?: (string | number)[];\n}\n\n// EnhancedTab is defined here instead of in Tab.tsx because if exported there,\n// it will mess up the Python imports and metadata.json\nconst EnhancedTab = ({\n id,\n label,\n selected,\n className,\n style,\n selected_className,\n selected_style,\n setProps: selectHandler,\n value,\n disabled = false,\n disabled_style = {color: 'var(--Dash-Text-Disabled)'},\n disabled_className,\n componentPath,\n}: EnhancedTabProps) => {\n const ExternalWrapper = window.dash_component_api.ExternalWrapper;\n const ctx = window.dash_component_api.useDashContext();\n componentPath = componentPath ?? ctx.componentPath;\n // We use the raw path here since it's up one level from\n // the tabs child.\n const isLoading = ctx.useLoading({rawPath: componentPath});\n const tabStyle = useMemo(() => {\n return {\n ...style,\n ...(disabled ? disabled_style : {}),\n ...(selected ? selected_style : {}),\n };\n }, [style, disabled, disabled_style, selected, selected_style]);\n\n const tabClassNames = useMemo(() => {\n let names = 'tab';\n if (disabled) {\n names += ' tab--disabled';\n if (disabled_className) {\n names += ` ${disabled_className}`;\n }\n }\n if (selected) {\n names += ' tab--selected';\n if (selected_className) {\n names += ` ${selected_className}`;\n }\n }\n if (className) {\n names += ` ${className}`;\n }\n return names;\n }, [className, disabled, disabled_className, selected, selected_className]);\n\n let labelDisplay;\n if (typeof label === 'object') {\n labelDisplay = (\n \n );\n } else {\n labelDisplay = {label};\n }\n\n return (\n {\n if (!disabled) {\n selectHandler({value});\n }\n }}\n >\n {labelDisplay}\n
\n );\n};\n\n/**\n * A Dash component that lets you render pages with tabs - the Tabs component's children\n * can be dcc.Tab components, which can hold a label that will be displayed as a tab, and can in turn hold\n * children components that will be that tab's content.\n */\nfunction Tabs({\n // eslint-disable-next-line no-magic-numbers\n mobile_breakpoint = 800,\n colors = {\n border: 'var(--Dash-Stroke-Weak)',\n primary: 'var(--Dash-Fill-Interactive-Strong)',\n background: 'var(--Dash-Fill-Interactive-Weak)',\n },\n vertical = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persisted_props = [PersistedProps.value],\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n persistence_type = PersistenceTypes.local,\n children,\n ...props\n}: TabsProps) {\n const initializedRef = useRef(false);\n const [isAboveBreakpoint, setIsAboveBreakpoint] = useState(false);\n\n const parseChildrenToArray = useCallback((): DashComponent[] => {\n if (!children) {\n return [];\n }\n if (children instanceof Array) {\n return children;\n }\n return [children];\n }, [children]);\n\n const valueOrDefault = (): string | undefined => {\n if (has('value', props)) {\n return props.value;\n }\n const children = parseChildrenToArray();\n if (children && children.length && children[0].props.componentPath) {\n const firstChildren: TabProps = window.dash_component_api.getLayout(\n [...children[0].props.componentPath, 'props']\n );\n return firstChildren.value ?? 'tab-1';\n }\n return 'tab-1';\n };\n\n // Initialize value on mount if not set\n useEffect(() => {\n if (!initializedRef.current && !has('value', props)) {\n props.setProps({\n value: `${valueOrDefault()}`,\n });\n initializedRef.current = true;\n }\n }, []);\n\n // Setup matchMedia for responsive breakpoint\n useEffect(() => {\n const mediaQuery = window.matchMedia(\n `(min-width: ${mobile_breakpoint}px)`\n );\n\n // Set initial value\n setIsAboveBreakpoint(mediaQuery.matches);\n\n // Listen for changes\n const handler = (e: MediaQueryListEvent) =>\n setIsAboveBreakpoint(e.matches);\n mediaQuery.addEventListener('change', handler);\n\n return () => mediaQuery.removeEventListener('change', handler);\n }, [mobile_breakpoint]);\n\n let EnhancedTabs: JSX.Element[];\n let selectedTab;\n\n const value = valueOrDefault();\n\n if (children) {\n const children = parseChildrenToArray();\n\n EnhancedTabs = children.map((child, index) => {\n // TODO: handle components that are not dcc.Tab components (throw error)\n // enhance Tab components coming from Dash (as dcc.Tab) with methods needed for handling logic\n let childProps: Omit;\n\n if (React.isValidElement(child) && child.props.componentPath) {\n childProps = window.dash_component_api.getLayout([\n ...child.props.componentPath,\n 'props',\n ]);\n } else {\n // In case the selected tab is a string.\n childProps = {};\n }\n\n if (!childProps.value) {\n childProps = {...childProps, value: `tab-${index + 1}`};\n }\n\n // check if this child/Tab is currently selected\n if (childProps.value === value) {\n selectedTab = child;\n }\n\n const style = childProps.style ?? {};\n if (typeof childProps.width === 'number') {\n style.width = `${childProps.width}px`;\n style.flex = '0 0 auto';\n } else if (typeof childProps.width === 'string') {\n style.width = childProps.width;\n style.flex = '0 0 auto';\n }\n\n return (\n \n );\n });\n }\n\n const selectedTabContent = !isNil(selectedTab) ? selectedTab : '';\n\n const tabContainerClassNames = useMemo(() => {\n let names = 'tab-container';\n if (vertical) {\n names += ` tab-container--vert`;\n }\n if (props.className) {\n names += ` ${props.className}`;\n }\n return names;\n }, [vertical, props.className]);\n\n const tabContentClassNames = useMemo(() => {\n let names = 'tab-content';\n if (vertical) {\n names += ` tab-content--vert`;\n }\n if (props.content_className) {\n names += ` ${props.content_className}`;\n }\n return names;\n }, [vertical, props.content_className]);\n\n const tabParentClassNames = useMemo(() => {\n let names = 'tab-parent';\n if (vertical) {\n names += ` tab-parent--vert`;\n }\n if (isAboveBreakpoint) {\n names += ' tab-parent--above-breakpoint';\n }\n if (props.parent_className) {\n names += ` ${props.parent_className}`;\n }\n return names;\n }, [vertical, isAboveBreakpoint, props.parent_className]);\n\n // Set CSS variables for dynamic styling\n const cssVars = {\n '--tabs-border': colors.border,\n '--tabs-primary': colors.primary,\n '--tabs-background': colors.background,\n } as const;\n\n return (\n \n {loadingProps => (\n \n \n {EnhancedTabs}\n
\n \n {selectedTabContent || ''}\n
\n
\n )}\n \n );\n}\n\nTabs.dashPersistence = {\n persisted_props: [PersistedProps.value],\n persistence_type: PersistenceTypes.local,\n};\n\nTabs.dashChildrenUpdate = true;\n\nexport default Tabs;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./textarea.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./textarea.css\";\n export default content && content.locals ? content.locals : undefined;\n","/* eslint-disable no-unused-vars */\nimport React from 'react';\nimport {pick} from 'ramda';\nimport {PersistedProps, PersistenceTypes, TextAreaProps} from '../types';\nimport './css/textarea.css';\n\nconst textAreaProps = [\n 'id',\n 'cols',\n 'rows',\n 'minLength',\n 'maxLength',\n 'contentEditable',\n 'tabIndex',\n 'form',\n 'name',\n 'placeholder',\n 'wrap',\n 'accessKey',\n 'contextMenu',\n 'dir',\n 'draggable',\n 'lang',\n 'spellCheck',\n 'style',\n 'title',\n] as const;\n\n/**\n * A basic HTML textarea for entering multiline text.\n *\n */\nconst Textarea = ({\n setProps,\n n_blur = 0,\n n_blur_timestamp = -1,\n n_clicks = 0,\n n_clicks_timestamp = -1,\n ...props\n}: TextAreaProps) => {\n const ctx = window.dash_component_api.useDashContext();\n const isLoading = ctx.useLoading();\n\n return (\n
\n
\n \n );\n};\n\nexport default Tooltip;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./dcc.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = function insertAtTop(element) {\n var parent = document.querySelector('head');\n // eslint-disable-next-line no-underscore-dangle\n var lastInsertedElement =\n window._lastElementInsertedByStyleLoader;\n\n if (!lastInsertedElement) {\n parent.insertBefore(element, parent.firstChild);\n } else if (lastInsertedElement.nextSibling) {\n parent.insertBefore(element, lastInsertedElement.nextSibling);\n } else {\n parent.appendChild(element);\n }\n\n // eslint-disable-next-line no-underscore-dangle\n window._lastElementInsertedByStyleLoader = element;\n };\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./dcc.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","e","window","module","exports","__webpack_require__","n","t","r","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","u","a","done","Promise","resolve","then","this","arguments","apply","isReady","lazy","setTimeout","regeneratorRuntime","mark","wrap","prev","next","stop","_dashprivate_isLazyComponentReady","f","length","configurable","writable","key","TypeError","dispatchEvent","CustomEvent","addEventListener","removeEventListener","_typeof","iterator","constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","Constructor","protoProps","staticProps","arg","input","prim","toPrimitive","undefined","res","hint","String","_toPrimitive","isDeepEqual","isDeepStrictEqual","_require$codes","codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","inspect","_require$types","isPromise","isRegExp","objectAssign","objectIs","RegExpPrototypeTest","lazyLoadComparison","comparison","Map","warned","assert","ok","NO_EXCEPTION_SENTINEL","innerFail","obj","message","Error","innerOk","fn","argLen","generatedMessage","err","actual","expected","operator","stackStartFn","_len","args","Array","_key","concat","fail","internalMessage","argsLen","process","emitWarning","console","warn","errArgs","equal","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","strictEqual","notStrictEqual","Comparison","keys","_this","instance","_classCallCheck","forEach","expectedException","msg","name","push","b","compareExceptionKey","isPrototypeOf","getActual","checkIsPromise","catch","waitForActual","promiseFn","resultPromise","expectsError","error","details","fnType","expectsNoError","internalMatch","string","regexp","fnName","match","strict","_len6","_key6","throws","_len2","_key2","rejects","_len3","_key3","result","doesNotThrow","_len4","_key4","doesNotReject","_len5","_key5","ifError","newErr","origStack","stack","tmp2","split","shift","tmp1","pos","indexOf","slice","join","doesNotMatch","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","getOwnPropertyDescriptors","defineProperties","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Function","toString","has","set","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","Parent","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","setPrototypeOf","__proto__","getPrototypeOf","endsWith","str","search","this_len","substring","blue","green","red","white","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","copyError","source","inspectValue","val","compact","customInspect","depth","maxArrayLength","Infinity","showHidden","breakLength","showProxy","sorted","getters","_Error","_inspect$custom","subClass","superClass","_inherits","Derived","hasNativeReflectConstruct","_super","Super","NewTarget","options","limit","stackTraceLimit","stderr","isTTY","getColorDepth","other","lastPos","end","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","columns","count","Math","floor","maxCount","log","repeat","pop","maxLines","max","_actualLines","printedLines","skippedMsg","cur","expectedLine","actualLine","divergingLines","createErrDiff","base","_res","knownOperators","code","captureStackTrace","recurseTimes","ctx","custom","util","createErrorType","Base","NodeError","_Base","arg1","arg2","arg3","getMessage","oneOf","thing","isArray","len","map","determiner","start","substr","replace","type","reason","inspected","RangeError","_slicedToArray","arr","_arrayWithHoles","return","_iterableToArrayLimit","minLen","_arrayLikeToArray","from","test","_unsupportedIterableToArray","_nonIterableRest","arr2","regexFlagsSupported","flags","arrayFromSet","array","arrayFromMap","is","objectGetOwnPropertySymbols","numberIsNaN","Number","isNaN","uncurryThis","propertyIsEnumerable","objectToString","isAnyArrayBuffer","isArrayBufferView","isDate","isMap","isSet","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","charCodeAt","pow","getOwnNonIndexProperties","compare","x","y","min","innerDeepEqual","val1","val2","memos","buf1","buf2","val1Tag","keys1","keys2","keyCheck","Date","getTime","RegExp","byteLength","Uint8Array","buffer","byteOffset","areSimilarTypedArrays","offset","areSimilarFloatArrays","_keys","_keys2","size","BigInt","isEqualBoxedPrimitive","getEnumerables","k","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","position","val2MemoA","val2MemoB","areEq","memo","aValues","Set","add","setMightHaveLoosePrim","bValues","_i","_val","setHasEqualElement","setEquiv","aEntries","_aEntries$i","item1","item2","mapMightHaveLoosePrim","bEntries","_i2","_bEntries$_i","item","mapHasEqualEntry","mapEquiv","keysA","objEquiv","delete","setValues","findLooseMatchingPrimitives","altValue","curB","key1","key2","privatePropTypes","_dashprivate_transformConfig","PropTypes","_dashprivate_transformFigure","_dashprivate_onFigureModified","EMPTY_DATA","PlotlyGraph","_Component","_callSuper","mathjax","_loadMathjax","state","prependData","extendData","clearState","setState","nextProps","figure","dataKey","data","React","ControlledPlotlyGraph","_extends","Component","RealPlotlyGraph","asyncDecorator","all","Plotly","reject","timeoutId","element","document","createElement","src","_dashPlotlyJSURL","async","onload","clearTimeout","onerror","querySelector","appendChild","lazyLoadMathJax","_ref","className","id","extendedClassName","Suspense","fallback","displayName","propTypes","responsive","clickData","clickAnnotationData","hoverData","clear_on_unhover","selectedData","relayoutData","restyleData","layout","frames","style","animate","animation_options","config","staticPlot","plotlyServerURL","editable","editSelection","edits","annotationPosition","annotationTail","annotationText","axisTitleText","colorbarPosition","colorbarTitleText","legendPosition","legendText","shapePosition","titleText","autosizable","queueLength","fillFrame","frameMargins","scrollZoom","doubleClick","doubleClickDelay","showTips","showAxisDragHandles","showAxisRangeEntryBoxes","showLink","sendData","linkText","displayModeBar","showSendToCloud","showEditInChartStudio","modeBarButtonsToRemove","modeBarButtonsToAdd","modeBarButtons","toImageButtonOptions","format","filename","width","height","scale","displaylogo","watermark","plotGlPixelRatio","topojsonURL","mapboxAccessToken","locale","locales","displayNotifier","setProps","defaultProps","frame","redraw","transition","duration","ease","graphPropTypes","graphDefaultProps","Graph_react","upload","RealUpload","Upload","contents","last_modified","children","accept","disabled","disable_click","max_size","min_size","multiple","enable_folder_selection","className_active","className_reject","className_disabled","style_active","style_reject","style_disabled","borderStyle","borderColor","backgroundColor","opacity","LoadingElement","ref","_ref$elementType","elementType","_objectWithoutProperties","_excluded","loading","dash_component_api","useDashContext","useLoading","givenProps","__webpack_exports__","A","dropdown","RealDropdown","defaultLabels","select_all","deselect_all","selected_count","clear_search","clear_selection","no_options_found","Dropdown","_ref$clearable","clearable","_ref$disabled","_ref$multi","multi","_ref$searchable","searchable","_ref$labels","labels","_ref$optionHeight","optionHeight","_ref$maxHeight","maxHeight","_ref$closeOnSelect","closeOnSelect","persisted_props","PersistedProps","persistence_type","PersistenceTypes","local","dashPersistence","allBlankCharCodes","is_string_blank_namespaceFn","original","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","parent","lastInsertedElement","_lastElementInsertedByStyleLoader","nextSibling","insertBefore","firstChild","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","locals","convert","fastIsNumeric","isNumeric","NaN","isEquivalent","v1","v2","inputProps","Input","_ref$type","HTMLInputTypes","text","_ref$inputMode","inputMode","_ref$n_blur","n_blur","_ref$n_submit","n_blur_timestamp","n_submit","_ref$debounce","n_submit_timestamp","debounce","_ref$step","step","_ref$autoComplete","autoComplete","useRef","_useState2","useState","setValue","_useState4","pendingEvent","setPendingEvent","inputId","uniqid","valprops","number","setPropValue","useCallback","current","checkValidity","onEvent","inputValue","valueAsNumber","propValue","onBlur","now","onChange","onKeyDown","setInputValue","debounceEvent","seconds","handleStepperClick","direction","currentValue","parseFloat","stepAsNum","decimalPlaces","constrainedValue","roundedValue","toFixed","useEffect","cursorPosition","selectionStart","isFinite","setSelectionRange","disabledAsBool","includes","pickedInputs","pick","isNumberInput","currentNumericValue","minValue","maxValue","isDecrementDisabled","isIncrementDisabled","loadingProps","hidden","trim","onClick","components_Input","_ref$refresh","refresh","_ref$scrollToTop","scrollToTop","href","title","cleanUrl","dash_clientside","clean_url","sanitizedUrl","useMemo","updateLocation","metaKey","shiftKey","altKey","ctrlKey","isNil","preventDefault","location","history","pushState","scrollTo","_dash_error","CalendarDirection","MathJax","additionalProps","assign","safeIsNaN","isEqual","first","second","areInputsEqual","newInputs","lastInputs","memoize_one_esm","resultFn","lastThis","lastResult","lastArgs","calledOnce","newArgs","performance","cancelTimeout","timeoutID","cancelAnimationFrame","getScrollbarSize","recalculate","div","overflow","body","offsetWidth","clientWidth","removeChild","cachedRTLResult","getRTLOffsetType","outerDiv","outerStyle","innerDiv","innerStyle","scrollLeft","defaultItemKey$1","index","createListComponent","_class","getItemOffset","getEstimatedTotalSize","getItemSize","getOffsetForIndexAndAlignment","getStartIndexForOffset","getStopIndexForStartIndex","initInstanceProps","shouldResetStyleCacheOnItemSizeChange","validateProps","_PureComponent","List","_instanceProps","_outerRef","_resetIsScrollingTimeoutId","isScrolling","scrollDirection","scrollOffset","initialScrollOffset","scrollUpdateWasRequested","_callOnItemsRendered","memoizeOne","overscanStartIndex","overscanStopIndex","visibleStartIndex","visibleStopIndex","onItemsRendered","_callOnScroll","onScroll","_getItemStyle","_this$props","itemSize","itemStyleCache","_getItemStyleCache","isHorizontal","isRtl","offsetHorizontal","left","right","top","_offset","_","__","___","_onScrollHorizontal","event","_event$currentTarget","currentTarget","scrollWidth","prevState","_resetIsScrollingDebounced","_onScrollVertical","_event$currentTarget2","clientHeight","scrollHeight","scrollTop","_outerRefSetter","outerRef","callback","delay","_resetIsScrolling","requestAnimationFrame","tick","getDerivedStateFromProps","validateSharedProps","_proto","scrollToItem","align","_this$props2","itemCount","scrollbarSize","componentDidMount","_this$props3","_callPropsCallbacks","componentDidUpdate","_this$props4","_this$state","componentWillUnmount","render","_this$props5","innerRef","innerElementType","innerTagName","itemData","_this$props5$itemKey","itemKey","outerElementType","outerTagName","useIsScrolling","_this$_getRangeToRend","_getRangeToRender","startIndex","stopIndex","items","_index","estimatedTotalSize","WebkitOverflowScrolling","willChange","pointerEvents","_this$_getRangeToRend2","_overscanStartIndex","_overscanStopIndex","_visibleStartIndex","_visibleStopIndex","_this$state2","_scrollDirection","_scrollOffset","_scrollUpdateWasRequested","_this$props6","overscanCount","_this$state3","overscanBackward","overscanForward","PureComponent","validateSharedProps$1","_ref2","_ref3","getItemMetadata$1","instanceProps","itemMetadataMap","lastMeasuredIndex","itemMetadata","findNearestItemBinarySearch$1","high","low","middle","currentOffset","estimatedItemSize","totalSizeOfMeasuredItems","VariableSizeList","maxOffset","minOffset","round","findNearestItemBinarySearch","interval","findNearestItemExponentialSearch","findNearestItem$1","getItemMetadata","resetAfterIndex","shouldForceUpdate","forceUpdate","_ref5","optionslist","OptionLabel","label","ExternalWrapper","component","componentPath","displayLabel","Option","option","isSelected","optionClassName","optionStyle","_ref2$inputType","inputType","inputClassName","inputStyle","labelClassName","labelStyle","classNames","inputClassNames","labelClassNames","role","checked","onKeyUp","readOnly","Row","selected","passThruProps","setOptionHeight","measureRef","el","immediateHeight","getBoundingClientRect","ResizeObserver","_ref4","_entry$borderBoxSize$","_entry$borderBoxSize","entry","borderBoxSize","blockSize","contentRect","observe","OptionsList","forwardRef","_ref6","onSelectionChange","_ref6$maxHeight","innerHeight","listRef","containerRef","pendingFocusRef","heightsRef","measuredHeight","setMeasuredHeight","defaultOptionHeight","getOptionHeight","_heightsRef$current$g","_listRef$current","useLayoutEffect","_listRef$current2","h","defaultListHeight","listHeight","focusOption","optionIndex","_containerRef$current","deferred","HTMLElement","focus","useImperativeHandle","focusItem","handleChange","newValue","without","append","handleItemsRendered","sizerDiv","longestOption","maxLen","_data$options$index$v","_data$options$index","sanitizeOptions","valueSet","opt","isOptionValue","entries","$apply","$call","$reflectApply","actualApply","$TypeError","$actualApply","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$defineProperty","callBindBasic","applyBind","originalFunction","func","adjustedLength","times","g","functions","time","object","expression","tuple","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","version","sources","names","mappings","sourcesContent","sourceRoot","cssWithMappingToString","list","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","sourceMapping","$SyntaxError","gopd","property","nonEnumerable","nonWritable","nonConfigurable","loose","desc","hasSymbols","toStr","defineDataProperty","supportsDescriptors","predicate","predicates","hasProtoAccessor","gOPD","$Object","$getPrototypeOf","EvalError","SyntaxError","URIError","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","XMLHttpRequest","open","responseType","response","send","status","MouseEvent","createEvent","initMouseEvent","global","navigator","userAgent","saveAs","HTMLAnchorElement","URL","webkitURL","j","download","rel","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","innerText","safari","FileReader","onloadend","readAsDataURL","isCallable","thisArg","receiver","forEachArray","charAt","forEachString","forEachObject","concatty","that","bound","arrLike","slicy","boundLength","boundArgs","joiny","Empty","implementation","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","abs","sign","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","$ObjectGPO","$ReflectGPO","needsEval","TypedArray","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt64Array","BigUint64Array","DataView","decodeURI","decodeURIComponent","encodeURI","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","parseInt","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","$exec","exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","last","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","reflectGetProto","originalGetProto","getDunderProto","O","hasPropertyDescriptors","hasArrayLengthDefineBug","origSymbol","hasSymbolSham","sym","symObj","getOwnPropertyNames","syms","$hasOwn","ctor","superCtor","super_","TempCtor","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","callee","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","isIE68","isDDA","strClass","isFnRegex","safeRegexTest","getGeneratorFunction","GeneratorFunction","define","getPolyfill","shim","polyfill","isRegexMarker","throwRegexMarker","badStringifier","whichTypedArray","$isNaN","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isObject","isFunction","isArguments","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","objectKeys","$push","$propIsEnumerable","originalGetSymbols","source1","to","getSymbols","nextKey","letters","lacksProperEnumerationOrder","preventExtensions","thrower","assignHasPendingExceptions","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","isRegex","regex","hasDescriptors","$floor","functionLengthIsConfigurable","functionLengthIsWritable","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","css","sourceMap","references","updater","addElementStyle","byIndex","api","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","attributes","styleElement","nonce","nc","setAttribute","parentNode","removeStyleElement","styleSheet","cssText","createTextNode","pid","prefix","suffix","copy","fill","readUInt8","isArgumentsObject","isGeneratorFunction","isTypedArray","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","isArrayBuffer","working","isDataViewToString","isDataView","isView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","method","descriptors","formatRegExp","objects","isNull","deprecate","noDeprecation","throwDeprecation","traceDeprecation","trace","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","toUpperCase","opts","seen","stylize","stylizeNoColor","colors","isBoolean","_extend","isUndefined","stylizeWithColor","formatValue","styleType","styles","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","hash","idx","arrayToHash","isError","formatError","output","braces","toUTCString","formatProperty","formatArray","reduce","reduceToSingleString","line","ar","re","pad","debuglog","bold","italic","underline","inverse","grey","black","cyan","magenta","yellow","special","boolean","null","date","types","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","months","prop","getHours","getMinutes","getSeconds","getDate","getMonth","inherits","kCustomPromisifiedSymbol","callbackifyOnRejected","cb","newReason","promisify","promiseResolve","promiseReject","promise","callbackify","callbackified","maybeCb","rej","availableTypedArrays","globalThis","typedArrays","$slice","cache","typedArray","proto","superProto","tag","isTATag","found","getter","trySlices","tryTypedArrays","ReactJSXRuntime","jsx","maybeKey","propName","jsxs","jsxDEV","Fragment","possibleNames","out","defaultOptions","getDefaultOptions","dateLongFormatter","pattern","formatLong","timeLongFormatter","longFormatters","P","dateTimeLongFormatter","dateTimeFormat","matchResult","datePattern","timePattern","dateTime","getTimezoneOffsetInMilliseconds","_date","toDate","utcDate","UTC","getFullYear","getMilliseconds","setUTCFullYear","normalizeDates","context","dates","normalize","constructFrom","find","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isProtectedDayOfYearToken","token","isProtectedWeekYearToken","warnOrThrowProtectedError","_message","subject","toLowerCase","millisecondsInWeek","millisecondsInDay","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","constructFromSymbol","for","differenceInCalendarDays","laterDate","earlierDate","_normalizeDates2","in","laterDate_","earlierDate_","laterStartOfDay","startOfDay","earlierStartOfDay","laterTimestamp","earlierTimestamp","getDayOfYear","date_","setFullYear","setHours","startOfYear","addLeadingZeros","targetLength","padStart","lightFormatters","signedYear","year","M","month","dayPeriodEnumValue","H","S","numberOfDigits","milliseconds","trunc","formatters","G","localize","era","ordinalNumber","unit","Y","signedWeekYear","getWeekYear","weekYear","R","getISOWeekYear","Q","quarter","ceil","q","L","w","week","getWeek","I","isoWeek","getISOWeek","D","dayOfYear","E","dayOfWeek","getDay","day","localDayOfWeek","weekStartsOn","isoDayOfWeek","dayPeriod","hours","B","K","X","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","z","T","delimiter","absOffset","minutes","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","_options$locale","_options$firstWeekCon","_options$locale2","_defaultOptions$local","_ref7","_options$weekStartsOn","_options$locale3","_defaultOptions$local2","defaultLocale","firstWeekContainsDate","originalDate","isValid","firstCharacter","longFormatter","isToken","matched","preprocessor","formatterOptions","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","formatter","diff","startOfISOWeek","fourthOfJanuary","startOfISOWeekYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfWeek","firstWeek","startOfWeekYear","firstWeekOfNextYear","firstWeekOfThisYear","formatDistanceLocale","lessThanXSeconds","one","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","buildFormatLongFn","defaultWidth","formats","full","long","medium","short","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","values","argumentCallback","dirtyNumber","_options","rem100","narrow","abbreviated","wide","am","pm","midnight","noon","morning","afternoon","evening","night","buildMatchFn","matchPattern","matchPatterns","defaultMatchWidth","matchedString","parsePatterns","defaultParseWidth","findIndex","findKey","valueCallback","rest","parsePattern","parseResult","any","enUS","formatDistance","tokenValue","addSuffix","formatRelative","_baseDate","parseISO","argument","_options$additionalDi","invalidDate","additionalDigits","dateStrings","dateString","timeString","patterns","dateTimeDelimiter","timeZoneDelimiter","timezone","splitDateString","parseYearResult","captures","restDateString","century","parseYear","dateRegex","isWeekDate","parseDateUnit","_year","validateWeekDate","isoWeekYear","getUTCDay","setUTCDate","getUTCDate","dayOfISOWeekYear","daysInMonths","isLeapYearIndex","validateDate","validateDayOfYearDate","parseDate","timestamp","timeRegex","parseTimeUnit","validateTime","parseTime","tmpDate","getUTCFullYear","getUTCMonth","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","timezoneString","timezoneRegex","_hours","validateTimezone","parseTimezone","setDate","cached","es_append","set1","set2","len1","len2","_concat","_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__","_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__","_toString_js__WEBPACK_IMPORTED_MODULE_4__","_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__","_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__","_arrayFromIterator","iter","_includesWith","pred","internal_objectIs","_uniqContentEquals","aIterator","bIterator","stackA","stackB","eq","_a","_b","_equals","aItem","typeA","equals","ignoreCase","multiline","sticky","unicode","extendedStackA","extendedStackB","_has","es_equals","_curry2","XFilter","xf","_xfBase","init","_xfilter","es_filter","_dispatchable","filterable","_isObject","reducer","acc","_arrayReduce","_filterMap","_filter","es_hasPath","_path","es_has","_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__","_curry1","f1","_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__","f2","_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__","_curry1_js__WEBPACK_IMPORTED_MODULE_0__","methodNames","transducerCreator","_isArray","_isTransformer","transducer","_includes","inf","_indexOf","_isArguments","_has_js__WEBPACK_IMPORTED_MODULE_0__","_isFunction","_isPlaceholder","_isString","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","contains","_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__","nIdx","ks","checkArgsLength","_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__","_internal_has_js__WEBPACK_IMPORTED_MODULE_1__","omit","es_reject","_map","functor","_quote","internal_toISOString","toISOString","_toString","recur","xs","mapPairs","sort","repr","es_toString","hasOrAdd","shouldAdd","prevSize","_items","_nativeSet","bIdx","internal_Set","_Set","es_without","toRemove","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","cw","mod","mode","ns","def","definition","chunkId","promises","url","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","onScriptComplete","doneFns","head","scriptUrl","importScripts","currentScript","tagName","getCurrentScript","doc_scripts","textContent","jsonpScriptSrc","__jsonpScriptSrc__","isLocal","srcFragments","fileFragments","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","bg","b64","tmp","lens","validLen","getLens","placeHoldersLen","Arr","_byteLength","curByte","revLookup","lookup","css_button","components_Button","_ref$n_clicks","n_clicks","n_clicks_timestamp","isLoading","checklist_options","checklist","Checklist","_ref$inputStyle","_ref$inputClassName","_ref$labelStyle","_ref$labelClassName","_ref$options","_ref$value","_ref$inline","inline","sanitizedOptions","stylingProps","selection","_defineProperty","_arr","_n","_d","_e","_s","_WINDOW","_DOCUMENT","_PERFORMANCE","measure","MutationObserver","_ref$userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","NAMESPACE_IDENTIFIER","DEFAULT_REPLACEMENT_CLASS","oneToTen","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","FontAwesomeConfig","attr","coerce","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","hooks","shims","namespace","doScroll","readyState","listener","asyncTimer","PENDING","SETTLED","FULFILLED","REJECTED","NOOP","isNode","asyncSetTimer","setImmediate","asyncQueue","asyncFlush","asyncCall","invokeCallback","subscriber","owner","settled","_state","_data","handleThenable","resolved","fulfill","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","resolver","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","results","remaining","race","meaninglessTransform","rotate","flipX","flipY","nextUniqueId","random","htmlEscape","joinStyles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","fillBlack","abstract","force","initialValue","thisContext","bindInternal4","defineIcons","icons","_params$skipHooks","skipHooks","normalized","iconName","icon","addPack","build","ligatures","ligature","hasRegular","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","joinAttributes","MissingIcon","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","asFoundIcon","vectorData","class","cx","cy","Library","definitions","additions","_pullDefinitions","_normalized$key","ensureCss","_cssInserted","innerHTML","headChildren","childNodes","beforeChild","child","insertCss","dfp","drc","fp","rc","dPatt","customPropPatt","rPatt","findIconDefinition","iconLookup","_iconLookup$prefix","library","parse","transformString","parseTransformString","iconDefinition","abstractCreator","params","_params$transform","_params$symbol","symbol","_params$mask","mask","_params$maskId","maskId","_params$title","_params$titleId","titleId","_params$classes","classes","_params$attributes","_params$styles","_params$icons","main","extra","_params$watchable","watchable","isUploadedIcon","widthClass","attrClass","xmlns","viewBox","uploadedIconWidthStyle","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","asIcon","makeInlineSvgAbstract","container","html","maybeIconDefinition","enumerableOnly","symbols","_objectSpread2","index_es_defineProperty","index_es_typeof","index_es_objectWithoutProperties","excluded","sourceKeys","index_es_objectWithoutPropertiesLoose","sourceSymbolKeys","index_es_toConsumableArray","index_es_arrayWithoutHoles","index_es_iterableToArray","index_es_nonIterableSpread","camelize","chr","_excluded$1","index_es_PRODUCTION","normalizeIconArgs","objectWithKey","index_es_excluded","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","_classes","beat","fade","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","border","listItem","flip","rotation","pull","swapOpacity","classList","renderedIcon","_console","index_es_console","extraProps","convertCurry","external_PropTypes_default","bool","oneOfType","mixins","attrs","pair","startsWith","_extraProps$style","existingStyle","external_React_default","faCheckCircle","faCopy","Generator","_regeneratorDefine2","v","GeneratorFunctionPrototype","_regenerator","_invoke","asyncGeneratorStep","_asyncToGenerator","_next","_throw","clipboardAPI","clipboard","wait","ms","Clipboard","_React$Component","copyToClipboard","onClickHandler","copySuccess","getTargetText","stringifyId","copied","prevProps","wild","_copySuccess","_callee","htmlContent","showCopiedIcon","blobHtml","blobText","_context","ClipboardItem","write","writeText","_x","_x2","target_id","getElementById","_loading","_callee2","_context2","_copyToClipboard","_callee3","_context3","html_content","copied_children","button_children","DashContext","ConfirmDialog","_update","displayed","shouldTriggerDisplay","cancel_n_clicks","submit_n_clicks","confirm","submit_n_clicks_timestamp","cancel_n_clicks_timestamp","ConfirmDialogProvider","wrapClick","datePickerRange","DatePickerPersistence","extract","parsed","storedValue","RealDatePickerRange","DatePickerRange","_ref$calendar_orienta","calendar_orientation","_ref$is_RTL","is_RTL","_ref$day_size","day_size","_ref$with_portal","with_portal","_ref$with_full_screen","with_full_screen_portal","_ref$first_day_of_wee","first_day_of_week","_ref$number_of_months","number_of_months_shown","_ref$stay_open_on_sel","stay_open_on_select","_ref$reopen_calendar_","reopen_calendar_on_clear","_ref$show_outside_day","show_outside_days","_ref$updatemode","updatemode","_ref$disabled_days","start_date","end_date","disabled_days","persistenceTransforms","transformDate","datePickerSingle","RealDatePickerSingle","DatePickerSingle","_ref$placeholder","placeholder","getValue","Download","toByteArray","blob","isRequired","Geolocation","success","update_now","geolocation","positionOptions","enableHighAccuracy","high_accuracy","maximumAge","maximum_age","getCurrentPosition","updatePosition","_crd$latitude","_crd$longitude","_crd$accuracy","_crd$altitude","_crd$altitudeAccuracy","_crd$speed","_crd$heading","crd","coords","position_obj","lat","latitude","lon","longitude","accuracy","alt","altitude","alt_accuracy","altitudeAccuracy","speed","heading","local_date","toLocaleString","position_error","show_alert","alert","Interval","intervalId","reportInterval","handleTimer","max_intervals","n_intervals","clearTimer","setInterval","clearInterval","resetTimer","_toPairs","pairs","es_toPairs","XAny","_xany","es_any","DebugTitle","spinnerComponentOptions","graph","debugTitle","fullscreen","debug","spinnerClass","cube","color","circle","dot","coveringSpinner","visibility","display","justifyContent","alignItems","components_Loading","targetComponents","_ref3$display","_ref3$color","parent_className","parent_style","overlay_style","_ref3$show_initially","show_initially","_ref3$type","spinnerType","_ref3$delay_hide","delay_hide","_ref3$delay_show","delay_show","target_components","custom_spinner","useSelector","stringPath","loadingChildren","toPairs","load","showSpinner","setShowSpinner","dismissTimer","showTimer","containerStyle","Spinner","getSpinner","Location","onLocationChange","_this2","pathname","propsToSet","checkExistsUpdateWindowLocation","fieldName","propVal","pathnameUpdated","hrefUpdated","hashUpdated","searchUpdated","searchVal","hashVal","propsToChange","History","dispatchChangeEvent","markdown","RealMarkdown","Markdown","_ref$mathjax","_ref$dangerously_allo","dangerously_allow_html","_ref$dedent","dedent","radioitems_options","RadioItems","radioitems","rangeSlider","sliders_options","sliders","RealRangeSlider","RangeSlider","_ref$verticalHeight","verticalHeight","_ref$allow_direct_inp","allow_direct_input","isInteger","RealSlider","Slider","drag_value","mappedValue","mappedDragValue","mappedSetProps","newProps","mappedProps","MemStore","_modified","setModified","WebStore","storage","_storage","getItem","setItem","removeItem","Store","storage_type","_backstore","localStorage","sessionStorage","onStorageChange","oldValue","modified_timestamp","getModified","old","clear_data","tabs_options","tabs","components_Tab","disabled_style","EnhancedTab","selected_className","selected_style","selectHandler","_ref$disabled_style","disabled_className","labelDisplay","rawPath","tabStyle","tabClassNames","_toConsumableArray","Tabs","EnhancedTabs","selectedTab","_ref2$mobile_breakpoi","mobile_breakpoint","_ref2$colors","primary","background","_ref2$vertical","vertical","initializedRef","isAboveBreakpoint","setIsAboveBreakpoint","parseChildrenToArray","valueOrDefault","_firstChildren$value","getLayout","mediaQuery","matchMedia","matches","handler","_childProps$style","childProps","flex","selectedTabContent","tabContainerClassNames","tabContentClassNames","content_className","tabParentClassNames","cssVars","content_style","dashChildrenUpdate","components_Tabs","textarea_options","css_textarea","textAreaProps","Textarea","required","autoFocus","components_Textarea","tooltip_options","tooltip","components_Tooltip","_ref$show","show","_ref$targetable","targetable","_ref$direction","_ref$border_color","border_color","_ref$background_color","background_color","_ref$className","_ref$zindex","zindex","_ref$loading_text","loading_text","bbox","show_tooltip","is_loading","x0","x1","y0","y1","dcc_options","dcc"],"sourceRoot":""} \ No newline at end of file diff --git a/dash/dcc/package-info.json b/dash/dcc/package-info.json index 67011908dd..31944242c3 100644 --- a/dash/dcc/package-info.json +++ b/dash/dcc/package-info.json @@ -1,6 +1,6 @@ { "name": "dash-core-components", - "version": "4.5.2", + "version": "4.5.3", "description": "Core component suite for Dash", "repository": { "type": "git", diff --git a/dash/html/package-info.json b/dash/html/package-info.json index c8a91b33f9..7ee88ed685 100644 --- a/dash/html/package-info.json +++ b/dash/html/package-info.json @@ -1,6 +1,6 @@ { "name": "dash-html-components", - "version": "4.5.2", + "version": "4.5.3", "description": "Vanilla HTML components for Dash", "main": "lib/index.js", "repository": { diff --git a/dash/mcp/tasks/tasks.py b/dash/mcp/tasks/tasks.py index 5f0ac3faf2..f200ce3abf 100644 --- a/dash/mcp/tasks/tasks.py +++ b/dash/mcp/tasks/tasks.py @@ -12,6 +12,7 @@ from dash._callback import _update_background_callback, _prepare_response from dash._utils import AttributeDict, split_callback_id from dash.development.base_component import ComponentRegistry +from dash.exceptions import PreventUpdate from dash.mcp.primitives.tools.results import format_callback_response from dash.mcp.types import MCPError from dash.types import CallbackExecutionResponse @@ -146,7 +147,7 @@ def get_task_result(task_id: str) -> Any: background = cb_info.get("background") has_output = not cb_info.get("no_output") multi = adapter.output_id.startswith("..") - output = split_callback_id(adapter.output_id) + output = split_callback_id(adapter.output_id) if has_output else [] # Build the body to get output_spec, same as as_callback_body body = adapter.as_callback_body({}) @@ -162,6 +163,7 @@ def get_task_result(task_id: str) -> Any: kwargs={"background_callback_manager": manager}, background=background, multi=multi, + output_spec=output_spec, cache_key=cache_key, job_id=job_id, ) @@ -172,21 +174,24 @@ def get_task_result(task_id: str) -> Any: "Task result not ready. Poll tasks/get until status is 'completed'." ) - _prepare_response( - output_value, - output_spec, - multi, - response, - callback_ctx, - app, - set(ComponentRegistry.registry), - background, - has_update, - has_output, - output, - adapter.output_id, - cb_info.get("allow_dynamic_callbacks"), - ) + try: + _prepare_response( + output_value, + output_spec, + multi, + response, + callback_ctx, + app, + set(ComponentRegistry.registry), + background, + has_update, + has_output, + output, + adapter.output_id, + cb_info.get("allow_dynamic_callbacks"), + ) + except PreventUpdate: + return format_callback_response(response, adapter) return format_callback_response(response, adapter) diff --git a/dash/version.py b/dash/version.py index 025e8a2c5c..9faa2c2dd5 100644 --- a/dash/version.py +++ b/dash/version.py @@ -1 +1 @@ -__version__ = "4.5.0rc2" +__version__ = "4.5.0" diff --git a/requirements/ci.txt b/requirements/ci.txt index af242627b2..d502cd9f01 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -8,6 +8,7 @@ ipython<9.0.0 mimesis<=11.1.0; python_version < "3.10" mimesis<=22.2.0; python_version >= "3.10" mock==5.2.0 +msgspec # dash[shared_storage] numpy<=2.5.4 orjson>=3.10.11 openpyxl diff --git a/requirements/diskcache.txt b/requirements/diskcache.txt index 59be4d2b79..47526ef01b 100644 --- a/requirements/diskcache.txt +++ b/requirements/diskcache.txt @@ -2,3 +2,4 @@ diskcache>=5.2.1 multiprocess>=0.70.12 psutil>=5.8.0 +msgspec # DiskcacheSharedStorage diff --git a/requirements/install.txt b/requirements/install.txt index 795f0c85c8..176d9c8f5e 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -10,4 +10,3 @@ setuptools janus>=1.0.0 pydantic>=2.10 comm -msgspec diff --git a/requirements/redis.txt b/requirements/redis.txt index c4903b4540..01c0b4f7ba 100644 --- a/requirements/redis.txt +++ b/requirements/redis.txt @@ -1,4 +1,5 @@ -# Dependency used by RedisSharedStorage. +# Dependencies used by RedisSharedStorage. # Kept in sync with the redis pin in celery.txt; in Dash 5.0 redis will be # removed from the celery extra and live here only. redis>=3.5.3,<=8.1.0 +msgspec diff --git a/requirements/shared_storage.txt b/requirements/shared_storage.txt new file mode 100644 index 0000000000..bdc9e5a1e2 --- /dev/null +++ b/requirements/shared_storage.txt @@ -0,0 +1 @@ +msgspec diff --git a/requirements/testing.txt b/requirements/testing.txt index 65f2866db0..4cc843fe18 100644 --- a/requirements/testing.txt +++ b/requirements/testing.txt @@ -5,7 +5,7 @@ lxml>=4.6.2 percy-python-selenium>=1.0.0 pytest>=6.0.2 requests[security]>=2.21.0 -selenium>=4.11.0,<=4.50.0 +selenium>=4.11.0,<=4.51.0 waitress>=1.4.4 multiprocess>=0.70.12 psutil>=5.8.0 diff --git a/setup.py b/setup.py index ac7163e384..d657d96916 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,8 @@ def read_req_file(req_type): "fastapi": read_req_file("fastapi"), "quart": read_req_file("quart"), "cloud": read_req_file("cloud"), - "ag-grid": read_req_file("ag-grid") + "ag-grid": read_req_file("ag-grid"), + "shared_storage": read_req_file("shared_storage") }, entry_points={ "console_scripts": [ diff --git a/tests/backend_tests/test_fastapi_before_request.py b/tests/backend_tests/test_fastapi_before_request.py index b094bbcd7f..af9e8c6e0d 100644 --- a/tests/backend_tests/test_fastapi_before_request.py +++ b/tests/backend_tests/test_fastapi_before_request.py @@ -2,7 +2,7 @@ and Quart.""" import pytest -from dash import Dash, Input, Output, _get_app, hooks, html +from dash import Dash, Input, Output, _callback, _get_app, callback, hooks, html pytest.importorskip("fastapi") @@ -187,3 +187,46 @@ def broken(): ): pass assert "hook bug" in caplog.text + + +def test_fabr006_websocket_callback_before_any_http_request(): + # dash.callback is only copied into callback_map by _setup_server, a + # before_request hook, so the handshake must run it too (gh-4082). + from starlette.testclient import TestClient + + app = Dash(__name__, backend="fastapi") + app.layout = html.Div([html.Button(id="ws-btn"), html.Div(id="ws-out")]) + + @callback(Output("ws-out", "children"), Input("ws-btn", "n_clicks"), websocket=True) + def echo(n_clicks): + return f"ws {n_clicks}" + + request = { + "type": "callback_request", + "requestId": "1", + "rendererId": "r", + "payload": { + "output": "ws-out.children", + "outputs": {"id": "ws-out", "property": "children"}, + "inputs": [{"id": "ws-btn", "property": "n_clicks", "value": 1}], + "changedPropIds": ["ws-btn.n_clicks"], + }, + } + try: + with TestClient(app.server) as client: + with client.websocket_connect( + "/_dash-ws-callback", headers={"origin": "http://testserver"} + ) as ws: + ws.send_json(request) + payload = ws.receive_json()["payload"] + assert payload["status"] == "ok" + assert payload["data"]["response"] == {"ws-out": {"children": "ws 1"}} + finally: + # Without _setup_server, the callback stays in the global registry and + # would be added to the app of the next test. + _callback.GLOBAL_CALLBACK_MAP.pop("ws-out.children", None) + _callback.GLOBAL_CALLBACK_LIST[:] = [ + spec + for spec in _callback.GLOBAL_CALLBACK_LIST + if spec["output"] != "ws-out.children" + ] diff --git a/tests/background_callback/app_bg_on_error.py b/tests/background_callback/app_bg_on_error.py index 724531f092..3945695e53 100644 --- a/tests/background_callback/app_bg_on_error.py +++ b/tests/background_callback/app_bg_on_error.py @@ -20,6 +20,8 @@ def global_error_handler(err): html.Div(id="cb-output"), html.Button("global on_error", id="start-global-onerror"), html.Div(id="global-output"), + html.Button("no-output callback on_error", id="start-no-output-cb-onerror"), + html.Div(id="no-output-cb-onerror-output"), ] @@ -48,5 +50,19 @@ def on_click_global(_): raise Exception("global error") +def no_output_callback_on_error(err): + set_props("no-output-cb-onerror-output", {"children": f"callback: {err}"}) + + +@app.callback( + Input("start-no-output-cb-onerror", "n_clicks"), + prevent_initial_call=True, + background=True, + on_error=no_output_callback_on_error, +) +def on_click_no_output(_): + raise Exception("no output callback error") + + if __name__ == "__main__": app.run(debug=True) diff --git a/tests/background_callback/test_basic_long_callback019.py b/tests/background_callback/test_basic_long_callback019.py new file mode 100644 index 0000000000..c90731a71b --- /dev/null +++ b/tests/background_callback/test_basic_long_callback019.py @@ -0,0 +1,12 @@ +from tests.background_callback.utils import setup_background_callback_app + + +def test_lcbc019_background_callback_on_error_without_output(dash_duo, manager): + with setup_background_callback_app(manager, "app_bg_on_error") as app: + dash_duo.start_server(app) + + dash_duo.find_element("#start-no-output-cb-onerror").click() + dash_duo.wait_for_contains_text( + "#no-output-cb-onerror-output", + "callback: An error occurred inside a background callback: no output callback error", + ) diff --git a/tests/integration/mcp/test_mcp_background_tasks.py b/tests/integration/mcp/test_mcp_background_tasks.py index 3bbfcfebef..c3967dae6f 100644 --- a/tests/integration/mcp/test_mcp_background_tasks.py +++ b/tests/integration/mcp/test_mcp_background_tasks.py @@ -17,6 +17,8 @@ from dash import Dash, Input, Output, html, _callback_signing from dash.background_callback.managers.diskcache_manager import DiskcacheManager +from tests.integration.mcp.conftest import _mcp_method + MCP_PATH = "_mcp" @@ -89,6 +91,41 @@ def _post(client, method, params=None, request_id=1): # --------------------------------------------------------------------------- +def test_mcpbg_cancel_no_output_task_result(dash_duo): + manager = DiskcacheManager(diskcache.Cache()) + app = Dash(__name__) + app.layout = html.Div(id="trigger") + + @app.callback( + Input("trigger", "children"), + background=True, + manager=manager, + prevent_initial_call=True, + ) + def no_output_callback(value): + time.sleep(0.5) + + dash_duo.start_server(app) + created = _mcp_method( + dash_duo.server_url, + "tools/call", + { + "name": "no_output_callback", + "arguments": {"value": "hello"}, + "task": {"ttl": 60000}, + }, + ) + task_id = created["result"]["task"]["taskId"] + job_id, _ = _unwrap_handles(app, task_id) + cancelled = _mcp_method(dash_duo.server_url, "tasks/cancel", {"taskId": task_id}) + assert cancelled["result"]["status"] == "cancelled" + assert not manager.job_running(job_id) + + result = _mcp_method(dash_duo.server_url, "tasks/result", {"taskId": task_id}) + assert result["result"]["structuredContent"] == {"multi": True} + assert dash_duo.get_logs() == [] + + def test_mcpbg012_trigger_poll_and_retrieve(): app = _make_background_app() client = app.server.test_client() diff --git a/tests/shared_storage/test_env_config.py b/tests/shared_storage/test_env_config.py index 68535f1065..aca7dc66fc 100644 --- a/tests/shared_storage/test_env_config.py +++ b/tests/shared_storage/test_env_config.py @@ -24,19 +24,19 @@ def _built(app): return storage if storage is None else storage() -def test_unset_defaults_to_local(monkeypatch): +def test_unset_disables(monkeypatch): monkeypatch.delenv("DASH_SHARED_STORAGE", raising=False) app = Dash(__name__) - assert app._shared_storage_arg is LocalSharedStorage + assert not app.shared_storage_enabled -@pytest.mark.parametrize("value", ["local", "LOCAL", " local ", ""]) +@pytest.mark.parametrize("value", ["local", "LOCAL", " local "]) def test_local(monkeypatch, value): app = _app(monkeypatch, value) assert app._shared_storage_arg is LocalSharedStorage -@pytest.mark.parametrize("value", ["none", "None"]) +@pytest.mark.parametrize("value", ["none", "None", ""]) def test_none_disables(monkeypatch, value): app = _app(monkeypatch, value) assert not app.shared_storage_enabled diff --git a/tests/shared_storage/test_no_msgspec.py b/tests/shared_storage/test_no_msgspec.py new file mode 100644 index 0000000000..aaae43413a --- /dev/null +++ b/tests/shared_storage/test_no_msgspec.py @@ -0,0 +1,103 @@ +"""Without msgspec, the in-memory backend still works over its socket +transport, and every backend that writes encoded bytes somewhere lasting +refuses to start with a pointer to the extra that brings it. + +Each case runs in a fresh interpreter with msgspec blocked, so the codec picks +its fallback at import time just as it would in a real install. +""" +import subprocess +import sys +import textwrap +import uuid + +import pytest + +PRELUDE = "import sys\nsys.modules['msgspec'] = None\n" + + +def _run(code): + proc = subprocess.run( + [sys.executable, "-c", PRELUDE + textwrap.dedent(code)], + capture_output=True, + text=True, + timeout=60, + check=False, + ) + assert proc.returncode == 0, proc.stderr + return proc.stdout + + +def test_memory_mode_crosses_processes_as_json(): + out = _run( + f""" + from dash._shared_storage import LocalSharedStorage, _codec + + assert not _codec.HAS_MSGSPEC + owner = LocalSharedStorage(namespace="nomsgspec-{uuid.uuid4().hex[:12]}") + owner.start() + client = LocalSharedStorage(namespace=owner._coord._namespace) + client.start() + assert owner._coord.is_owner() and not client._coord.is_owner() + + client.set("k", {{"a": [1, 2.5, None, True, "x"]}}) + assert owner.get("k") == {{"a": [1, 2.5, None, True, "x"]}} + sub = client.subscribe("t") + owner.publish("t", {{"n": 1}}) + print(sub.poll(timeout=5)) + sub.close() + client.close() + owner.close() + """ + ) + assert out.strip() == "[(1, {'n': 1})]" + + +@pytest.mark.parametrize( + "setup, what, extra", + [ + ( + "from dash._shared_storage import LocalSharedStorage\n" + "LocalSharedStorage(mode='persist', path='{tmp}')", + "LocalSharedStorage(mode='persist')", + "shared_storage", + ), + ( + "from dash._shared_storage import LocalSharedStorage\n" + "LocalSharedStorage(mode='persist-reset', path='{tmp}')", + "LocalSharedStorage(mode='persist-reset')", + "shared_storage", + ), + ( + "from dash._shared_storage import DiskcacheSharedStorage\n" + "DiskcacheSharedStorage(directory='{tmp}')", + "DiskcacheSharedStorage", + "diskcache", + ), + ( + "from dash._shared_storage import RedisSharedStorage\n" + "RedisSharedStorage(url='redis://localhost:6399/0')", + "RedisSharedStorage", + "redis", + ), + ( + "import os\nos.environ['DASH_SHARED_STORAGE'] = 'redis://localhost:6399/0'\n" + "from dash import Dash\nDash(__name__)", + "RedisSharedStorage", + "redis", + ), + ( + "import os\nos.environ['DASH_SHARED_STORAGE'] = 'diskcache://{tmp}'\n" + "from dash import Dash\nDash(__name__)", + "DiskcacheSharedStorage", + "diskcache", + ), + ], +) +def test_lasting_backends_need_the_extra(tmp_path, setup, what, extra): + out = _run( + "try:\n" + + textwrap.indent(setup.format(tmp=tmp_path), " ") + + "\nexcept ImportError as err:\n print(err)\n" + ) + assert f"{what} requires the {extra} extra" in out + assert f'pip install "dash[{extra}]"' in out diff --git a/tests/streaming/conftest.py b/tests/streaming/conftest.py index 94467a0d00..070c3bf336 100644 --- a/tests/streaming/conftest.py +++ b/tests/streaming/conftest.py @@ -18,6 +18,9 @@ def _isolate_shared_storage(monkeypatch): namespace = f"streamtest-{uuid.uuid4().hex[:12]}" monkeypatch.setattr(_local, "_default_namespace", lambda: namespace) + # HTTP streaming needs shared storage, so apps here get it unless they pass + # their own. + monkeypatch.setenv("DASH_SHARED_STORAGE", "local") yield diff --git a/tests/streaming/test_stream_callbacks_integration.py b/tests/streaming/test_stream_callbacks_integration.py index 1643c1e40c..da4d4effcc 100644 --- a/tests/streaming/test_stream_callbacks_integration.py +++ b/tests/streaming/test_stream_callbacks_integration.py @@ -11,6 +11,7 @@ no_update, set_props, ) +from dash._shared_storage import LocalSharedStorage from dash.testing.wait import until @@ -216,8 +217,6 @@ def test_stst020_multiplexed_transport_over_shared_storage(dash_duo): stream client rejects) and the downlink would 403, so nothing would render. Two callbacks share the one downlink, so this also covers multiplexing. """ - from dash._shared_storage import LocalSharedStorage - app = Dash(__name__, shared_storage=LocalSharedStorage()) app.layout = html.Div( [ @@ -279,7 +278,7 @@ def _open_tab(dash_duo): def test_stst010_many_tabs_share_one_downlink(dash_duo): """Browsers cap connections per host (~6); with the downlink hosted in a SharedWorker, eight streaming tabs share one and all keep streaming.""" - app = Dash(__name__) + app = Dash(__name__, shared_storage=LocalSharedStorage) app.layout = html.Div([html.Div(id="out", children="idle")]) @app.callback(Output("out", "children"), Input("out", "id")) @@ -303,7 +302,7 @@ async def stream_cb(_): def test_stst011_closing_a_tab_cancels_its_stream(dash_duo): """A tab closing while others keep the shared downlink open cancels that tab's callback server-side instead of running it to completion.""" - app = Dash(__name__) + app = Dash(__name__, shared_storage=LocalSharedStorage) app.layout = html.Div([html.Div(id="out", children="idle")]) events = [] @@ -338,7 +337,6 @@ def test_stst012_idle_stream_topics_are_released(dash_duo, monkeypatch): behind for the life of the process. A page that streams again after its topic was dropped still gets every frame of the new run.""" from dash import _stream_hub - from dash._shared_storage import LocalSharedStorage ttl = 1.0 monkeypatch.setattr(_stream_hub, "STREAM_TOPIC_TTL", ttl) diff --git a/tests/streaming/test_stream_callbacks_unit.py b/tests/streaming/test_stream_callbacks_unit.py index 2078acdec9..cdd1678416 100644 --- a/tests/streaming/test_stream_callbacks_unit.py +++ b/tests/streaming/test_stream_callbacks_unit.py @@ -521,3 +521,58 @@ async def scenario(): }, ] assert all(m["rid"] == "rid" for _, m in published) + + +def _stream_app(**kwargs): + callback_kwargs = ( + {"websocket": kwargs.pop("websocket")} if "websocket" in kwargs else {} + ) + app = Dash(__name__, **kwargs) + app.layout = html.Div([html.Button(id="btn"), html.Div(id="out")]) + + @app.callback( + Output("out", "children"), Input("btn", "n_clicks"), **callback_kwargs + ) + async def stream(n): + yield n + + return app + + +def test_stcb025_http_stream_without_shared_storage_fails_at_setup(): + # The error must come at setup, the same locally and once deployed, instead + # of streaming on a fallback that breaks behind a real deployment. + app = _stream_app(shared_storage=None) + with pytest.raises(StreamCallbackError, match="need shared storage"): + app._setup_server() # pylint: disable=protected-access + + +def test_stcb026_http_stream_without_shared_storage_fails_first_request(): + app = _stream_app(shared_storage=None) + app.server.testing = True + client = app.server.test_client() + for _ in range(2): + with pytest.raises(StreamCallbackError, match="out.children"): + client.get("/") + + +def test_stcb027_websocket_streams_do_not_need_shared_storage(): + pytest.importorskip("fastapi") + _stream_app( + shared_storage=None, backend="fastapi", websocket_callbacks=True + )._setup_server() # pylint: disable=protected-access + _stream_app( + shared_storage=None, backend="fastapi", websocket=True + )._setup_server() # pylint: disable=protected-access + + +@pytest.mark.parametrize("kwargs", [{"websocket_callbacks": True}, {"websocket": True}]) +def test_stcb029_websocket_flag_on_flask_still_needs_shared_storage(kwargs): + # Flask has no WebSocket route, so these streams would run over HTTP. + app = _stream_app(shared_storage=None, **kwargs) + with pytest.raises(StreamCallbackError, match="need shared storage"): + app._setup_server() # pylint: disable=protected-access + + +def test_stcb028_http_stream_with_shared_storage_sets_up(): + _stream_app()._setup_server() # pylint: disable=protected-access diff --git a/tests/streaming/test_stream_transport.py b/tests/streaming/test_stream_transport.py index b3d04fb468..c5ee1877f3 100644 --- a/tests/streaming/test_stream_transport.py +++ b/tests/streaming/test_stream_transport.py @@ -161,6 +161,40 @@ def test_flask_downlink_rejects_missing_end_id(): storage.close() +@pytest.mark.parametrize("flavor", ["flask", "fastapi", "quart"]) +def test_downlink_without_shared_storage_is_rejected(flavor): + # The renderer never opens a downlink when shared storage is off, so a + # request for one gets 403 instead of a SharedStorageError 500. + body = {"streamDownlink": {"from": 0}} + if flavor == "flask": + app = Dash(__name__, shared_storage=None) + app.layout = html.Div() + resp = app.server.test_client().post(_uplink_url(app), json=body) + assert resp.status_code == 403 + return + if flavor == "fastapi": + pytest.importorskip("httpx", reason="fastapi.testclient requires httpx") + from fastapi import FastAPI + from fastapi.testclient import TestClient + + app = Dash(__name__, server=FastAPI(), shared_storage=None) + app.layout = html.Div() + app._setup_server() # pylint: disable=protected-access + with TestClient(app.server) as client: + assert client.post(_uplink_url(app), json=body).status_code == 403 + return + quart = pytest.importorskip("quart") + app = Dash(__name__, server=quart.Quart(__name__), shared_storage=None) + app.layout = html.Div() + app._setup_server() # pylint: disable=protected-access + + async def run(): + resp = await app.server.test_client().post(_uplink_url(app), json=body) + return resp.status_code + + assert asyncio.run(run()) == 403 + + def test_flask_forged_stream_tokens_warn_once(monkeypatch, caplog): # A token that fails verification is almost always a secret mismatch # between workers, so say so, but once per process, not per poll. diff --git a/tests/streaming/test_stream_wsgi.py b/tests/streaming/test_stream_wsgi.py index 1d51f0c630..e0548c1970 100644 --- a/tests/streaming/test_stream_wsgi.py +++ b/tests/streaming/test_stream_wsgi.py @@ -33,13 +33,15 @@ import asyncio import os from dash import Dash, Input, Output, html + from dash._shared_storage import LocalSharedStorage, _codec - app = Dash(__name__) + app = Dash(__name__, shared_storage=LocalSharedStorage) server = app.server @server.after_request def tag_worker(response): response.headers["X-Worker-Pid"] = str(os.getpid()) + response.headers["X-Has-Msgspec"] = str(_codec.HAS_MSGSPEC) return response app.layout = html.Div([html.Button("go", id="btn", n_clicks=0), html.Div(id="out")]) @@ -62,8 +64,9 @@ def _free_port(): @contextlib.contextmanager -def _gunicorn(tmp_path, workers, env=None): +def _gunicorn(tmp_path, workers, env=None, config=""): (tmp_path / "wsgi_app.py").write_text(APP) + (tmp_path / "gunicorn_conf.py").write_text(config) port = _free_port() proc_env = {k: v for k, v in os.environ.items() if k.lower() != "dash_secret_key"} proc_env.update(env or {}) @@ -79,6 +82,8 @@ def _gunicorn(tmp_path, workers, env=None): str(workers), "--timeout", "30", + "--config", + "gunicorn_conf.py", ], cwd=tmp_path, env=proc_env, @@ -170,3 +175,16 @@ def test_stwg003_workers_without_shared_secret_refuse_streams(tmp_path): page_pid, polls = _downlink_polls(url) for pid, status in polls: assert status == (200 if pid == page_pid else 403) + + +def test_stwg004_workers_stream_without_msgspec(dash_br, tmp_path): + # Without the shared_storage extra, the in-memory backend still brokers + # streams across workers, encoding its socket messages as JSON. + no_msgspec = "import sys\nsys.modules['msgspec'] = None\n" + with _gunicorn( + tmp_path, workers=4, env={"DASH_SECRET_KEY": "shared"}, config=no_msgspec + ) as url: + assert requests.get(url, timeout=5).headers["X-Has-Msgspec"] == "False" + _, polls = _downlink_polls(url) + assert {status for _, status in polls} == {200} + _stream_completes(dash_br, url) diff --git a/tests/unit/mcp/tools/test_mcp_background_callbacks.py b/tests/unit/mcp/tools/test_mcp_background_callbacks.py index 8a9b96bbb8..aee3dcf3d5 100644 --- a/tests/unit/mcp/tools/test_mcp_background_callbacks.py +++ b/tests/unit/mcp/tools/test_mcp_background_callbacks.py @@ -94,7 +94,9 @@ def _trigger_task(app): def _wait_for_completion(app, task_id, timeout=3): """Block until the callback manager reports the job is no longer running.""" job_id, _ = _unwrap_handles(app, task_id) - manager = app.callback_map["output.children"]["manager"] + tool_name = task_id.split(":", 1)[0] + adapter = app.mcp_callback_map.find_by_tool_name(tool_name) + manager = app.callback_map[adapter.output_id]["manager"] deadline = time.time() + timeout while time.time() < deadline: if not manager.job_running(job_id): @@ -298,3 +300,64 @@ def test_mcpbg011_task_id_encodes_tool_name_job_id_cache_key(): assert job_id.isdigit() assert len(cache_key) == 64 # SHA256 hex assert created_epoch.isdigit() + + +def _make_no_output_background_app(): + cache = diskcache.Cache() + manager = DiskcacheManager(cache) + + app = Dash(__name__) + app.layout = html.Div( + [ + html.Div(id="trigger-no-output"), + html.Div(id="side-effect-target"), + ] + ) + + @app.callback( + Input("trigger-no-output", "children"), + background=True, + manager=manager, + ) + def no_output_slow_callback(value): + time.sleep(0.5) + + return app + + +def test_mcpbg012_no_output_task_result_does_not_raise(): + app = _make_no_output_background_app() + create_result = _mcp( + app, + "tools/call", + { + "name": "no_output_slow_callback", + "arguments": {"value": "hello"}, + "task": {"ttl": 60000}, + }, + ) + task_id = create_result["result"]["task"]["taskId"] + _wait_for_completion(app, task_id) + + result = _mcp(app, "tasks/result", {"taskId": task_id}) + assert result["result"]["structuredContent"] == {"multi": True} + + +def test_mcpbg013_cancel_no_output_task_does_not_raise(): + app = _make_no_output_background_app() + create_result = _mcp( + app, + "tools/call", + { + "name": "no_output_slow_callback", + "arguments": {"value": "hello"}, + "task": {"ttl": 60000}, + }, + ) + task_id = create_result["result"]["task"]["taskId"] + + cancel_result = _mcp(app, "tasks/cancel", {"taskId": task_id}) + assert "error" not in cancel_result + + result = _mcp(app, "tasks/result", {"taskId": task_id}) + assert result["result"]["structuredContent"] == {"multi": True} diff --git a/tests/unit/pages/test_pages.py b/tests/unit/pages/test_pages.py index df943c8f9b..f06308532c 100644 --- a/tests/unit/pages/test_pages.py +++ b/tests/unit/pages/test_pages.py @@ -2,7 +2,7 @@ import pytest import dash -from dash import Dash, _pages +from dash import Dash, _pages, html from mock import patch @@ -76,3 +76,49 @@ def test_import_layouts_from_pages( page_entry = list(dash.page_registry.values())[0] assert page_entry["module"] == expected_module_name + + +def _route(client, pathname): + response = client.post( + "/_dash-update-component", + json={ + "output": ".._pages_content.children..._pages_store.data..", + "outputs": [ + {"id": "_pages_content", "property": "children"}, + {"id": "_pages_store", "property": "data"}, + ], + "inputs": [ + {"id": "_pages_location", "property": "pathname", "value": pathname}, + {"id": "_pages_location", "property": "search", "value": ""}, + ], + "state": [], + "changedPropIds": ["_pages_location.pathname"], + }, + ) + return response.get_json()["response"]["_pages_content"]["children"] + + +@pytest.mark.parametrize("use_async", [False, True]) +def test_router_decodes_pathname(clear_pages_state, use_async): + if use_async: + pytest.importorskip("asgiref") + app = Dash(__name__, use_pages=True, pages_folder="", use_async=use_async) + dash.register_page( + "report", + path_template="/report/", + layout=lambda name=None, **_: html.Div(name, id="name"), + ) + dash.register_page("cafe", path="/caf\u00e9", layout=html.Div(id="cafe")) + app.layout = html.Div(dash.page_container) + client = app.server.test_client() + client.get("/") + + # dcc.Location sends window.location.pathname, which browsers percent-encode + assert _route(client, "/report/hello%20world")["props"]["children"] == ( + "hello world" + ) + assert _route(client, "/report/%E6%97%A5%E6%9C%AC")["props"]["children"] == ( + "\u65e5\u672c" + ) + assert _route(client, "/report/a%0Ab")["props"]["children"] == "a\nb" + assert _route(client, "/caf%C3%A9")["props"]["id"] == "cafe" diff --git a/tests/unit/test_resources.py b/tests/unit/test_resources.py index cbbf52964b..7ca8509389 100644 --- a/tests/unit/test_resources.py +++ b/tests/unit/test_resources.py @@ -272,7 +272,11 @@ def test_index_with_windows_extended_length_paths(tmp_path, monkeypatch): icons.mkdir(parents=True) (icons / "favicon.ico").write_bytes(b"") - app = dash.Dash(__name__, assets_folder="\\\\?\\" + str(tmp_path / "assets")) + app = dash.Dash( + __name__, + assets_folder="\\\\?\\" + str(tmp_path / "assets"), + shared_storage=dash.LocalSharedStorage, + ) app.layout = html.Div() response = app.server.test_client().get("/")